精华内容
下载资源
问答
  • ----------建立视图----------- create view b_view as select * from book ----------调用视图------------- select * from b_view --------局部变量声明和赋值----------- declare @num int
     
    
    select * from book
    
    ----------建立视图-----------
    create view b_view
    as
    select * from book
    
    
    ----------调用视图-------------
    select * from b_view
    
    
    --------局部变量声明和赋值-----------
    
    declare @num int
    set @num=22
    select @num=count(*) from book
    print @num
    
    
    --------全局变量(系统变量)---------
    select @@version
    select @@identity
    select @@error
    
    
    ----------if else使用--------------
    
    select * from T_person4
    
    declare @Fsalary numeric(10,2)
    select @Fsalary=avg(Fsalary) from T_person4
    if @Fsalary<6000
     begin
      select 'A'
      select top 2 * from T_Person4 order by Fsalary desc
     end 
    else
     begin
      select 'B'
      select top 2 * from T_person4 order by Fsalary ASC
     end
    
    ---------------while 使用----------------------
    --看每位员工的薪水是否大于5000,不大于就加500,再查看是否全部大于,否则继续加500。
    declare @Fsalary numeric(10,2)
    declare @num int
    while(1=1)
    select @num=count(*) from T_person4 where Fsalary>5000
    begin
    if @num>0
    update T_person4 set Fsalary=Fsalary-500
     else
      begin
       return
      end
    end
    
    select * from deposit
    select * from payment
    ---------事务(一个程序的执行单元,多条SQL语句,要不然同时执行,要不然都不执行)----
    Begin Transaction  -----开始事务
    declare @fund money ----不能直接declare @fund money=400,切记
    set @fund=400
    declare @depositor_id char(4)
    set @depositor_id='1234'
    declare @errnum int
    set @errnum=0
    update deposit set fund=fund-@fund where depositor_id=@depositor_id
    set @errnum=@errnum+@@error  ----全局变量@@error,每次使用后,自动变为0
    insert into payment(depositor_id,depositor_name,fund)values(@depositor_id,'李三三',@fund)
    set @errnum=@errnum+@@error
    if @errnum=0
      begin
        commit Transaction  ----事务提交
        select '取款成功'
      end
    else
     begin
      rollback Transaction  -----事务回滚
      select '取款失败'
     end

    展开全文
  • SQL server练习——视图

    2021-05-09 16:51:43
    我们可以向视图添加 SQL 函数、WHERE 以及 JOIN 语句,我们也可以提交数据,就像这些来自于某个单一的表。 视图的相关操作,与表的操作一致,适用于表的操作全部可应用于视图,例insert update 可以理解为视图就是表...

    视图的简介
    视图包含行和列,就像一个真实的表,视图被成为虚表
    视图中的字段就是来自一个或多个数据库中的真实的表中的字段。我们可以向视图添加 SQL 函数、WHERE 以及 JOIN 语句,我们也可以提交数据,就像这些来自于某个单一的表。
    视图的相关操作,与表的操作一致,适用于表的操作全部可应用于视图,例insert update
    可以理解为视图就是表,只是一张虚表
    注意:数据库的设计和结构不会受到视图中的函数、where 或 join 语句的影响。
    【语法结构】:
    CREATE VIEW 视图名称 AS
    SELECT column_name(s)
    FROM table_name
    WHERE condition

    ==》将查询语句结果作为视图(虚表)

    视图的优点:
    (1)使用视图,可以定制用户数据,聚焦特定的数据。
    (2)使用视图,可以简化数据操作。
    将使用率较高的子查询作为视图,从而利用视图进行查询,提高代码利用度,简化程序
    (3)使用视图,基表中的数据就有了一定的安全性
    视图是虚拟的,视图是动态的数据的集合,==数据是随着基表的更新而更新。==同时,用户对视图,不可以随意的更改和删除,可以保证数据的安全性。 (视图数据若更改成功的话,会改变基表数据,但视图数据不能随意更改,随着基表数据更改而更改,视图数据不能随已更改)
    (4)可以合并分离的数据,创建分区视图

    举例:

    create view view5
    as select 店号,COUNT(工号) as 职工总人数 from 职工   group by 店号  having 店号 is not null
    go
    
    create view view3 
    as select 商品.品号,商品.品名,单价,商店.店名,销售金额 from 销售,商品,商店
    where 商品.品号=销售.品号 and 商店.店号=销售.店号
    go
    
    展开全文
  • use electric go --建立供电局1#仓库所存放物资的视图。 create view s1_stock ...--建立供电局1#仓库所存放物资的视图,并要求进行修改和插入操作时仍需保证该视图只有供电局1#仓库所存放的物...
    use electric
    go
    
    --建立供电局1#仓库所存放物资的视图。
    create view s1_stock
    as
    select * from stock where warehouse='供电局1#仓库';
    
    select * from s1_stock
    
    --建立供电局1#仓库所存放物资的视图,并要求进行修改和插入操作时仍需保证该视图只有供电局1#仓库所存放的物资。
    create view s2_stock
    as
    select * from stock where warehouse='供电局1#仓库' with check option
    
    select * from s2_stock
    
    --建立由抢修工程项目名称(prj_name)、出库物资名称(mat_name)、规格(speci)及领取数量(amount)的视图。
    create view s3_stock
    as
    select Salvaging.prj_name,Stock.mat_name,speci,stock.amount from stock,Salvaging,Out_Stock where Salvaging.prj_no=Out_stock.prj_no and Out_Stock.mat_no=stock.mat_no
    
    select * from Salvaging
    
    --建立供电局1#仓库所存放物资库存数量不少于50的视图。
    create view s4_stock
    as
    select * from stock where amount>=50
    
    select * from s4_stock
    
    --建立一个体现抢修工程项目实际抢修天数的视图。
    create view s5_stock
    as
    select prj_no,prj_name,datediff(day,start_date,end_date) 抢修天数 from Salvaging
    
    select * from s5_stock
    
    --将仓库名称与其仓库内所存放物资的种类定义为一个视图。
    create view s6_stock
    as
    select mat_name,amount from Stock
    
    select * from s6_stock
    
    --视图加密
    CREATE VIEW s7_stock(warehouse,counts)
    WITH ENCRYPTION --加密
    AS
    SELECT warehouse, COUNT(mat_no) 
    FROM stock
    GROUP BY warehouse;
    
    --被加密后无法查看
    sp_helptext s7_stock
    
    
    --视图删除
    DROP VIEW S1_Stock;
    
    --更新视图原表也一定会更新

     

    转载于:https://www.cnblogs.com/littlepage/p/10725732.html

    展开全文
  • SQL Server视图复习

    2019-09-22 15:09:07
    视图的好处: 第一点:使用视图,可以定制用户数据,聚焦特定的数据。第一点:使用视图,可以定制用户数据,聚焦特定的数据。 在实际过程中,公司有不同角色的工作人员,我们以销售公司为例的话,采购人员,可以...

    视图的好处:

    第一点:
    使用视图,可以定制用户数据,聚焦特定的数据。

    第一点:
    使用视图,可以定制用户数据,聚焦特定的数据。


    在实际过程中,公司有不同角色的工作人员,我们以销售公司为例的话,
    采购人员,可以需要一些与其有关的数据,而与他无关的数据,对他没
    有任何意义,我们可以根据这一实际情况,专门为采购人员创建一个视
    图,以后他在查询数据时,只需select * from view_caigou 就可以啦。

    第二点:使用视图,可以简化数据操作。

    解释:我们在使用查询时,在很多时候我们要使用聚合函数,同时还要
    显示其它字段的信息,可能还会需要关联到其它表,这时写的语句可能
    会很长,如果这个动作频繁发生的话,我们可以创建视图,这以后,我
    们只需要select * from view1就可以啦~,是不是很方便呀~

    第三点:使用视图,基表中的数据就有了一定的安全性

    因为视图是虚拟的,物理上是不存在的,只是存储了数据的集合,我们可以
    将基表中重要的字段信息,可以不通过视图给用户,视图是动态的数据的集
    合,数据是随着基表的更新而更新。同时,用户对视图,不可以随意的更改
    和删除,可以保证数据的安全性。

    第四点:可以合并分离的数据,创建分区视图

    随着社会的发展,公司的业务量的不断的扩大,一个大公司,下属都设有很
    多的分公司,为了管理方便,我们需要统一表的结构,定期查看各公司业务
    情况,而分别看各个公司的数据很不方便,没有很好的可比性,如果将这些
    数据合并为一个表格里,就方便多啦,这时我们就可以使用union关键字,
    将各分公司的数据合并为一个视图。

     

    自己做的练习:

     1 --SQL视图的学习篇
     2 
     3 --1.简单视图的创建
     4 
     5 IF OBJECT_ID('Orders_View','V') IS NOT NULL
     6 DROP VIEW Orders_View;
     7 GO 
     8 CREATE VIEW [Orders_View]
     9 AS
    10 SELECT dbo.Orders.OrderID,dbo.Customers.CustomerID FROM dbo.Orders  INNER JOIN dbo.Customers
    11 ON Customers.CustomerID = Orders.CustomerID
    12 GO 
    13 
    14 --1.1视图的使用
    15 SELECT * FROM Orders_View;
    16 
    17 
    18 --2.使用WITH ENCRYPTION,创建加密视图
    19 IF OBJECT_ID('Region_View','V') IS NOT NULL
    20 DROP VIEW Region_View;
    21 GO
    22 CREATE VIEW  Region_View
    23 WITH ENCRYPTION
    24 AS 
    25 SELECT R.RegionID AS R_ID, R.RegionDescription AS R_Desc FROM dbo.Region AS R
    26 INNER JOIN dbo.Territories
    27 ON Territories.RegionID = R.RegionID
    28 GO 
    29 
    30 --2.1使用视图
    31 SELECT * FROM Region_View;
    32 
    33 --2.2加密视图之后,执行下面的语句吗,得到的文本是,这个对象已经加密
    34 EXEC sp_helptext Region_View;
    35 
    36 
    37 --3.使用 WITH CHECK OPTION,并允许对数据进行修改
    38 IF OBJECT_ID('View_Hello','V') IS NOT NULL 
    39 DROP VIEW View_Hello;
    40 GO 
    41 CREATE VIEW View_Hello
    42 AS 
    43 SELECT O.OrderID,C.ContactName,C.City,E.LastName,E.FirstName,S.CompanyName FROM dbo.Orders AS O
    44 INNER JOIN dbo.Customers AS C ON C.CustomerID = O.CustomerID
    45 INNER JOIN dbo.Employees AS E ON E.EmployeeID = O.EmployeeID
    46 INNER JOIN dbo.Shippers AS S ON S.ShipperID = O.ShipVia
    47 WHERE c.City='London'
    48 WITH CHECK OPTION;
    49 GO 
    50 
    51 --视图的使用
    52 SELECT * FROM View_Hello;
    53 
    54 --测试用
    55 SELECT * FROM dbo.Customers WHERE City='London';
    56 --测试用
    57 UPDATE dbo.Customers SET city='London' WHERE City='AAAAAA'
    58 
    59 
    60 --4.使用视图中的内置函数
    61 
    62 IF OBJECT_ID('Orders_GetDate','V') IS NOT NULL
    63 DROP VIEW Orders_GetDate;
    64 GO 
    65 CREATE VIEW Orders_GetDate
    66 AS 
    67 SELECT TOP (50) OrderID,SUM(Freight) AS aaa FROM dbo.Orders
    68 WHERE OrderDate>CONVERT(DATETIME,'1996-08-01') 
    69 GROUP BY OrderID
    70 GO 
    71 
    72 --使用视图
    73 SELECT* FROM Orders_GetDate;

     

    转载于:https://www.cnblogs.com/caofangsheng/p/4645825.html

    展开全文
  • sql关于视图sql SQL views are another powerful database object we have at our disposal. In the previous two articles of this series, we’ve talked about user-defined functions and user-defined ...
  •   本篇博客用来记录自己在做SQL server练习的时候,所做过的题目,遇到的问题及总结。 题目及解答: 本练习所涉及的数据库:stuManage 1、写出下面SQL语句实现的功能 (1)SELECT COUNT(*) AS 信管专业女...
  • SQL Server脚本练习

    千次阅读 2019-02-14 20:13:51
    最近正在准备,计算机四级 的数据库,做了一些关于SQL语句的练习,包括数据库的建立,表的建立,查询插入,触发器的一些练习,只是一些很简单的练习并不深入原理,也不深入展开叙述,仅仅作为一些基础的SQL 命令。...
  • T-Sql Server 数据库练习

    千次阅读 2019-08-21 15:32:43
    T-Sql Server 数据库练习 表一:student_info 学号 姓名 性别 出生年月 家庭住址 备注 0001 张三 男 1981-8-9 北京 NULL 表二:curriculum 课程编号 课程名称 学分 0001 计算机基础 2 0002 C语言 2 表三:grade 学号...
  • SQLServer实验 视图的使用-view 练习

    千次阅读 2018-05-05 16:55:27
    SQLServer我们老师改了题,自己就又做一下,看的时候可以比较一下,这样好总结方法想练习数据库的可以下载:(有效期90天,有人下载才会续期)员工管理数据库.mdfhttps://u8266128.ctfile.com/fs/8266128-289562490...
  • 1.视图的概述 视图其实就是一条查询sql语句,用于显示一个或多个表或其他视图中的相关数据。视图将一个查询的结果作为一个表来使用,因此视图可以被看作是存储的查询或一个虚拟表。视图来源于表,所有对视图数据的...
  • 1、SQL语言的功能组成(三个组件),SQL语言的特点。——见SQL语言1 2、SQL中的表和关系模型中关系的区别。 转自: 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。...
  • SQL server 实验练习2

    千次阅读 2020-05-30 08:12:48
    SQL server 实验练习2 1、根据要求使用DML完成数据编辑 (1)在表中添加1个新的系,dno为“d01006”,并为该系添加2个专业信息和2条教师信息,其他具体数据自拟。 INSERT into department values ('d01006','数据库...
  • SQL server练习

    千次阅读 2020-05-14 13:27:39
    SQL server是(数据库管理系统) SQL server组织数据采用(关系型) 在数据库中设计表属于(物理结构设计) 图书与读者的关系(多对多) SQL server用户通过(DBMS)操作数据库对象 说明题 什么是数据,数据库,...
  • 查询这个视图平均成绩大于80分的学生学号和姓名 SELECT SNO,SNAME FROM M_STUDENT GROUP BY SNO,SNAME HAVING AVG(GRADE) > 80     (15). 建立视图,有系名,人数,平均成绩( 外连接, 分组, 人数...
  • SQL server练习

    2011-08-25 21:03:02
    V = 视图 X = 扩展存储过程及相关的对象信息。 */ if object_id('student') is not null drop table student; go create table student( s# varchar(10), sname nvarchar(10), sage datetime, ssex nvarchar...
  • SQL-Server-5-视图

    2021-04-21 19:15:31
    SQL-Server数据库技术与应用五、视图5.1 背景知识5.1.1 概念及分类5.1.2 优点5.2 创建视图5.3 管理视图5.3.1 插入数据5.3.2 修改视图5.3.2.1. ALTER修改视图5.3.2.2. UPDATE修改视图中的数据5.3.3 删除视图 五、视图...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,568
精华内容 2,627
关键字:

server视图练习sql