视图、存储过程、函数、游标与触发器

视图、存储过程、函数、游标与触发器

ID:35611653

大小:197.00 KB

页数:67页

时间:2019-04-01

视图、存储过程、函数、游标与触发器_第1页
视图、存储过程、函数、游标与触发器_第2页
视图、存储过程、函数、游标与触发器_第3页
视图、存储过程、函数、游标与触发器_第4页
视图、存储过程、函数、游标与触发器_第5页
资源描述:

《视图、存储过程、函数、游标与触发器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、视图、存储过程、函数、游标与触发器学习目标掌握使用视图掌握使用存储过程掌握使用自定义标量函数、表值函数掌握使用游标掌握使用触发器一、视图的定义视图由SELECT查询语句所定义的一个虚拟表,是查看数据的一种非常有效的方式,同真实的数据表一样,视图也包含一系列带有名称的数据列和数据行,但视图与数据表又有很大的不同,视图中的数据并不真实的存在于数据库中.1.1、视图的优点简化查询提供一种安全机制视图掩码(对长的字段重新命名)数据即时更新1.2、视图的分类标准视图:使用最频繁的视图,不存储任何数据,不占用任何存储空间索引视图:拥有唯一群集索引的视图被称为索引视图,它存储

2、真实索引数据,占用一定的存储空间。分区视图:现在用分区表进行替代1.2.1、标准视图--创建带有部门编号的emp视图SELECTdbo.EMP.EMPNO,dbo.EMP.ENAME,dbo.EMP.JOB,dbo.EMP.MGR,dbo.EMP.HIREDATE,dbo.EMP.SAL,dbo.EMP.COMM,dbo.EMP.DEPTNO,dbo.DEPT.DNAMEFROMdbo.EMPINNERJOINdbo.DEPTONdbo.EMP.DEPTNO=dbo.DEPT.DEPTNO--通过视图修改数据updatev_emp_with_deptnamese

3、tsal=800whereempno=7369注意:(1)可以修改基于两个或两个以上基表的视图,但是每次修改只能影响一个基表,不能同时修改。(2)不能修改通过计算得到的列、有内置函数的列以及有聚合函数的列1.2.2、索引视图--创建各部门人数的视图dropviewv_countOfDeptgocreateviewv_countOfDeptWITHSCHEMABINDINGasSELECTEMP.deptno,count_big(*)empcountFROMdbo.EMPgroupbyemp.deptno--创建聚合索引CREATEUNIQUECLUSTEREDI

4、NDEXi_v_countOfDept_deptnoONv_countOfDept(deptno)注意:(1)创建索引视图,必须拥有唯一聚合索引,如果创建聚合索引,带有聚合函数的基础视图必须使用WITHSCHEMABINDING,groupby以及count_big函数(2)使用索引视图能提高数据库效率(3)如果视图引用任何非确定性函数,则不能在视图上创建聚集索引1.2.3、分区视图--创建分区视图--将表进行行分割,emp表分解为emp1和emp2select*intoemp1fromempwhereempno<7782goselect*intoemp2fro

5、mempwhereempno>=7782goCREATEVIEWv_emp_with_1_and_2ASSELECT*FROMemp1UNIONALLSELECT*FROMemp2注意:分区视图在sqlserver2005中被分区表替代1.3、在ManagementStudio中创建视图二、存储过程存储过程是数据库系统中封装的代码模块,它采用T-SQL语言来编写,经编译后存放在数据库服务器中,具有很好的可重用性,可用于高效地完成某些操作存储过程可以充分利用服务器的高性能运算能力,无需把大量的结果集送往客户端进行处理,大大减少了网络数据传输的开销,提高了应用程序访

6、问数据库的速度和效率2.1、使用存储过程的好处与特点存储过程是已编译过的,并在服务器上注册和保存的代码模块,因而比一般的程序语句执行起来速度更快,同时减少了网络流量,节省了大量时间和数据流量。存储过程可以使用控制语句和变量,并且在一个存储过程中可以调用其他存储过程,使得用户可以进行模块化程序设计,大大提高了用户设计程序的效率。存储过程具有安全特性和所有权链接,可以执行所有的权限管理,用户可以被授予执行存储过程的权限,但不拥有直接对存储过程所引用对象的权限。存储过程可以提高应用程序的安全性,防止SQL嵌入式攻击存储过程可以允许代码绑定,引用当前不存在的对象,这些对

7、象仅在存储过程执行时存在2.2、存储过程的分类用户自定义的存储过程:最主要的存储过程系统存储过程:sp_前缀,系统预定义扩展存储过程:保存在DLL动态链接库中并从动态链接库中执行的C++程序代码,用于扩展SQLSERVER2005性能,以字符xp_开头,通常与其它系统存储过程一起使用通过程序集调用。2.3、存储过程的设计规则CREATEPROCEDURE定义本身可包括除下列CREATE语句以外的任何数量和类型的SQL语句,存储过程中的任意地方都不能使用下列语句:CREATERULECREATEDEFAULTCREATEFUNCTIONCREATETRIGGERC

8、REATEPROCEDU

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。