【SQL server速成之路】数据库的视图和游标

🎉个人主页:这个昵称我想了20分钟
✨往期专栏:【速成之路】jQuery


🎖️专栏:【速成之路】SQL server
🔓往期回顾:
【SQL server速成之路】数据库基础
【SQL server速成之路】数据库和表(一)
【SQL server速成之路】数据库和表(二)
【SQL server速成之路】数据库的查询


在这里插入图片描述

🎆视图

  视图一经定义以后,就可以象表一样被查询修改删除更新。使用视图有下列优点:

(1)为用户集中数据,简化用户的数据查询和处理。有时用户所需要的数据分散在多个表中,定义视图可将它们集中在一起,从而方便用户的数据查询和处理。
(2)屏蔽数据库的复杂性。用户不必了解复杂的数据库中的表结构,并且数据库表的更改也不影响用户对数据库的使用。
(3)简化用户权限的管理。只需授予用户使用视图的权限,而不必指定用户只能使用表的特定列,也增加了安全性。
(4)便于数据共享。各用户不必都定义和存储自己所需的数据,可共享数据库的数据,这样同样的数据只需存储一次。

🎯1.创建视图

  1.在对象资源管理器中创建视图
  下面以在xsbook数据库中创建cs_xs(描述计算机专业学生情况)视图说明在创建视图的过程。

  (1)启动“SQL Server Management Studio”在“对象资源管理器中”展开“数据库”“xsbook”选择其中的“视图”项,右击鼠标,在弹出的快捷菜单上选择“新建视图(N)”菜单项。
  (2)在随后出现的添加表窗口中,添加所需要关联的基本表、视图、函数、同义词。这里只使用表选项卡,选择表“xs”,如图4.36所示,单击“添加”按钮。
在这里插入图片描述
  (3)基表添加完后,在视图窗口的关系图窗口显示了基表的全部列信息,如图4.37所示。
在这里插入图片描述
  (4)上一步完成后,单击面板上的保存按钮,出现保存视图对话框,在其中输入视图名cs_xs,并单击“确定”按钮,便完成了视图的创建。
查看的方法是:启动“SQL Server Management Studio”→在“对象资源管理器中”展开“数据库”→“xsbook”→“视图”→选择“dbo.cs_xs”,右击鼠标,在弹出的快捷菜单中选择“设计”菜单项,可以查看并可修改视图结构,选择“编辑前200行”菜单项,将可查看视图数据内容。

  2.使用CREATE VIEW语句创建视图

  T-SQL中用于创建视图的语句是CREATE VIEW语句,例如用该语句创建视图cs_xs,其表示形式为:

CREATE VIEW cs_xs
AS 
    	SELECT *
    		FROM xs
    		WHERE 专业 = '计算机'

  注意:CREATE VIEW必须是批命令的第一条语句。

  CREATE VIEW的语法格式为:

CREATE VIEW [ <数据库架构名>. ] <视图名> [ (<列名> [ ,...n ] ) ]
	AS select_statement
	[ WITH CHECK OPTION ]

说明:

(1)<列名>:若使用与源表或视图中相同的列名时,则不必给出column_name
(2)select_statement:用来创建视图的SELECT语句,可在SELECT语句中查询多个表或视图,以表明新创建的视图所参照的表或视图。
(3)WITH CHECK OPTION:指出在视图上进行的修改都要符合select_statement所指定的限制条件,即保证修改、插入和删除的行满足视图定义中的条件,这样可以确保数据修改后,仍可通过视图看到修改的数据。

  【例】 创建cs_jy视图,包括计算机专业各学生的借书证号、其借阅图书的索书号及借书时间。要保证对该视图的修改都要符合专业为计算机这个条件。

CREATE VIEW cs_jy
AS 
   	SELECT xs.借书证号, 索书号, 借书时间
   		FROM xs, jy
   		WHERE xs.借书证号 = jy.借书证号 AND 专业 = '计算机'
   	WITH CHECK OPTION

  视图cs_jy的属性列包括了xs表的借书证号、jy表的索书号和借书时间。

  【例】 创建计算机专业学生在2022年4月20日以前的借书情况视图cs_jy_430。

CREATE VIEW cs_jy_430
   	AS
   	SELECT 借书证号
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

这个昵称我想了20分钟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值