视图的创建与使用汇总.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * 重命名视图和删除视图 重命名视图 sp_rename old_name, new_name 例6.9 将视图V_customer重命名为V_customer1 sp_rename V_customer, V_customer1 删除视图 :DROP VIEW { view } [ ,...n ] 例6.10 删除视图V_Customer。 DROP VIEW V_Customer 删除视图时,底层数据表不受影响,但会造成与该视图关联的权限丢失。 * * 先判断,再删除,避免重复删除出错 use student go if EXISTS(select name from sys.views where name=view_stu) ——先判断如果系统中有名为view_stu 的视图,再删除 DROP view view_stu * * 6.4 通过视图修改数据 可以利用视图对创建它的数据源(表或其他视图)进行一定的修改,但使用视图修改数据源时需要注意以下几点: 对视图中的数据进行修改(包括 UPDATE、INSERT 和 DELETE ),不能同时修改两个或多个基表中的数据。 不能修改那些通过表达式计算得到的字段值,例如包含计算值或者聚合函数的字段。 若用户在创建视图时,指定了WITH CHECK OPTION 选项,那么对视图进行UPDAT或INSERT操作时,要保证更新或插入的数据满足视图定义的范围。 用户如果想通过视图执行更新和删除命令时,则要操作的数据必须包含在视图的结果集中,否则不能完成该操作。 * * 6.4.1 利用视图插入新记录 插入新记录时须注意以下内容: 1)如果新插入的记录不符合视图定义的查询条件,但是视图定义时没有使用WITH CHECK OPTION选项,那么该记录仍然可以通过视图插入到基表中,但再次运行视图时,新记录不会在视图中显示。 2)如果在视图的定义中使用了WITH CHECK OPTION选项,则当向视图中插入不符合视图查询条件的记录时,则系统报错。 3)如果基表中定义了某些约束条件或触发器,当插入的记录违反这些限制时,则不能将该记录插入到视图和基表中。 * * 例6.11 首先基于Product表创建一个新视图文件V_stocks,要求包含库存stocks值在300以上的记录。 CREATE VIEW V_stocks AS SELECT * FROM Product WHERE stocks300 创建视图后,输入以下命令,向视图中插入一条新数据。 INSERT INTO V_stocks VALUES (P03008,冰糖,3,6.0,200) * * 给 使用了WITH CHECK OPTION选项的视图 添加数据 例6.12 CREATE VIEW V_stocks AS SELECT * FROM Product WHERE stocks300 WITH CHECK OPTION 创建视图后,输入以下命令,向视图中插入一条新数据。 INSERT INTO V_stockS VALUES (P03010,雪饼,3,15.0,200) SELECT * FROM V_stocks—查看是否有刚插入的记录 * * 6.4.2 利用视图更新记录 使用视图可以更新数据,但更新的只是数据库中基表的数据记录。 更新的列应属于同一个表,而且修改后的值同样会受到WITH CHECK OPTION选项和数据源的约束的影响。 * * 例6.13 用前面已经创建的视图V_Seller,输入如下命令: USE sales GO UPDATE V_Seller SET 地址=保定职大路1号 WHERE 编号=s10 执行以上命令后,把职工编号为s10的记录中的地址字段值进行更改。 * * 例6.14 用前面已经创建的视图V_stocks,输入如下命令: USE sales GO UPDATE V_stocks SET stocks=200 WHERE ProductID=p01006 执行以上命令行时,系统将弹出错误信息“服务器: 消息 550,级别 16,状态 1,行 1试图进行的插入或更新已失败,原因是目标视图或者目标视图所跨越的某一视图指定了 WITH CHECK OPTION,而该操作的一个或多个结果行又不符合 CHECK OPTION 约束的条件。语句已终止。” * * 6.4.3 利用视图删除记录 使用视图删除记录的方法与删除表中记录相同,删除的只是数据库中基表的数据记录。 例6.15 利用视图V_stocks删除满足一定条件的记录。 USE sales GO DELETE FROM V_stocks WHERE ProductI

文档评论(0)

182****3159 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档