第十一章视图和T-SQL程序设计.ppt

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十一章视图和T-SQL程序设计

第十一章 视图和T-SQL程序设计 本章要点: 视图 视图的概念和作用 创建、修改、删除和重命名视图 视图的应用 T-SQL程序设计 批处理和脚本 变量 打印和注释 流程控制语句 11.1-1、视图的概念和作用 视图的概念 视图是虚拟的表,其内容由查询定义 11.1-1、视图的概念和作用 视图和表的逻辑结构很相似,都是由字段和记录构成的 视图中行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。 11.1-1、视图的概念和作用 视图的作用 体现了数据库的三层结构,增强了数据的逻辑独立性 降低了操作的复杂性 增加了安全性 11.1-2、创建、修改、删除和重命名视图 视图的创建 创建视图使用Create View语句 语法结构: Create View 视图名[(列名列表)] [WITH ENCRYPTION] AS 子查询 [WITH CHECK OPTION] 如果不指定列名,就采用源表中的列名。 如果试图中的列由算术表达式,函数构成或多表中的重复列,则必须指定列名 11.1-2、创建、修改、删除和重命名视图 可选项[WITH ENCRYPTION]表示对视图的文本加密 可选项[WITH CHECK OPTION]表示当视图中有新记录插入或被修改时,若不符合视图的创建条件时,将会被拒绝执行。 视图可以由一个或多个表或其它视图生成 11.1-2、创建、修改、删除和重命名视图 Student(sno,sname,age,sex,depart) Course(cno,cname) Sc(cno,sno,score) 例1:创建一个视图v1用于查看年龄大于18岁的学生的学号,姓名和所在系。(并对文本加密) 例2:创建一个视图v2用于查看学生的选课信息,包括学生姓名,课程名和课程的成绩。(成绩值加20) 例3:创建一个视图v3用于查看所有学生成绩的平均值。 11.1-2、创建、修改、删除和重命名视图 在select子查询中不能包括以下内容 不能包括compute、compute by子句 不能包括order by子句,除非在select子句里有top子句 不能包括into关键字 11.1-2、创建、修改、删除和重命名视图 修改视图 修改视图使用Alter View语句 语法结构: 修改视图和创建视图的语法结构是完全一致的,只不过是用Alter View语句 例4:修改视图v1,用来查看年龄在18到30岁之间的学号,姓名和所在系 11.1-2、创建、修改、删除和重命名视图 删除视图 删除视图使用drop View语句 语法结构: Drop view 视图名 删除视图不会对源表产生任何影响 例5:删除视图v3 视图重命名 sp_rename ‘原视图名’,‘新视图名’ 11.1-3、视图的应用 通过视图查询数据 视图的查询方法与表的查询方法是一样的 例6:查询视图v2的全部信息 例7:查询视图v1中张三同学的信息 更新视图 对视图的更新,包括插入、修改和删除数据 对视图的更新就是对定义视图的查询所引用的表中数据及更新 11.1-3、视图的应用 不能对使用distinct关键字和group by语句创建的视图更新 不能对包含函数,表达式列的视图更新 视图中没有包含源表中所有非空属性列,也不能进行更新 如果在定义视图使用了with chek option,它会强迫,更新必须满足select语句中规定的条件 11.1-3、视图的应用 在视图中使用insert语句 通过视图插入数据与直接在表中插入数据是一样的,都是通过insert into ….values语句实现的 例8:向视图v1 插入一行数据,插入的数据行为(2004011,‘李四’,‘软件工程’) 例9:向视图v2 插入一行数据,插入的数据行为(’数据库’,‘李四’,80)(有错误) 11.1-3、视图的应用 在视图中使用update语句 通过视图修改数据与直接在表中修改数据是一样的 例10:将例8中,插入的数据行的,所在系修改为‘计算机系’ 在视图中使用delete语句 通过视图删除数据与直接在表中删除数据是一样的 例11:将例8中,插入的数据行的删除 11.2-1、批处理和脚本 批处理 是多个T-SQL语句的集合,SQL Server将批处理中的语句编译成一个执行单元 在SQL中有使用GO来表示批处理的结束 脚本 在文件中的一系列T-SQL语句,它包含一个或多个批处理 11.2-2、变量 全局变量 全局变量不是由用户程序定义的,它是在服务器级定义的 全局变量以@@开头 例12:使用全局变量@@CONNECTIONS,确定最后一次启动的连接数

文档评论(0)

asd522513656 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档