中职 数据库应用基础(SQL Server 2016)项目8教学课件

上传人:无*** 文档编号:253340508 上传时间:2024-12-11 格式:PPTX 页数:16 大小:561.83KB
收藏 版权申诉 举报 下载
中职 数据库应用基础(SQL Server 2016)项目8教学课件_第1页
第1页 / 共16页
中职 数据库应用基础(SQL Server 2016)项目8教学课件_第2页
第2页 / 共16页
中职 数据库应用基础(SQL Server 2016)项目8教学课件_第3页
第3页 / 共16页
资源描述:

《中职 数据库应用基础(SQL Server 2016)项目8教学课件》由会员分享,可在线阅读,更多相关《中职 数据库应用基础(SQL Server 2016)项目8教学课件(16页珍藏版)》请在装配图网上搜索。

1、,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,21/8/22 Sun,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,中职 数据库应用基础(SQL Server 2016)项目8教学课件工信版,项目,8,创建存储过程和触发器,理解存储过程的概念和类型,掌握创建、调用和管理存储过程的方法,理解触发器的概念和类型,掌握设计、实现和管理触发器的方法,项目目标,8.1.1,存储过程的类型,1.,用户定义存储过程。,用户定义存储过程是指封装了可重用代码的模块或例程,可以接受输入参数、向客户端返回表或标量结果和消息、调用数据定

2、义语言和数据操作语言语句,然后返回输出参数。,2.,临时存储过程。,临时存储过程是用户定义存储过程的一种形式。临时存储过程与永久过程相似,只是临时存储过程存储于,tempdb,中。,3.,系统存储过程。,系统存储过程是指由,SQL Server,提供的存储过程,可以用来管理,SQL Server,和显示有关数据库和用户的信息。,4.,扩展的用户定义存储过程,扩展过程允许你使用编程语言(例如,C,)创建外部例程。这些过程是指,SQL Server,的实例可以动态加载和运行的,DLL,。,任务,8.1,创建存储过程,8.1.2,使用存储过程的好处,1.,减少了服务器,/,客户端网络流量,存储过程中

3、的命令作为代码的单个批处理执行。这可以显著减少服务器与客户端之间的网络流量,因为只有对执行过程的调用才会跨网络发送。如果没有过程提供的代码封装,每个单独的代码行都不得不通过网络发送。,2.,更强的安全性,多个用户和客户端程序可以通过过程对基础数据库对象执行操作,即使用户和程序对这些基础对象没有直接权限。存储过程控制执行哪些进程和活动,并且保护基础数据库对象。这消除在了单独的对象级别授予权限的要求,并且简化了安全层。,3.,代码的重复使用,任何重复的数据库操作的代码都非常适合于在过程中进行封装。这消除了不必要地重复编写相同的代码、降低了代码不一致性,并且允许拥有所需权限的任何用户或应用程序访问和

4、执行代码。,4.,更容易维护,在客户端应用程序调用过程并且将数据库操作保持在数据层中时,对于基础数据库中的任何更改,只有过程是必须更新的。应用程序层保持独立,并且不必知道对数据库布局、关系或进程的任何更改的情况。,5.,改进的性能,默认情况下,在首次执行过程时将编译过程,并且创建一个执行计划,供以后的执行重复使用。因为查询处理器不必创建新计划,所以,它通常用更少的时间来处理过程。,任务,8.1,创建存储过程,8.1.3,创建用户定义存储过程,CREATE OR ALTER PROC|PROCEDURE,架构名称,.,过程名称,;,数字,参数,类型架构名称,.,数据类型,VARYING=,默认值

5、,OUT|OUTPUT|READONLY,.,WITH,.,FOR REPLICATION,AS BEGIN SQL,语句,;.END,;,:=,ENCRYPTION RECOMPILE EXECUTE AS,子句,任务,8.1,创建存储过程,8.1.5,执行字符串,EXECUTE,语句的主要用途是执行存储过程。但也可以预先将,Transact-SQL,语句放在字符串变量中,然后使用,EXECUTE,语句来执行这个字符串,语法格式如下。,EXEC|EXECUTE,(,字符串变量,|N,常量字符串,+.),AS LOGIN|USER=,登录名,;,其中,字符串变量指定一个局部变量的名称,该局部变

6、量可以是任意,char,、,varchar,、,nchar,或,nvarchar,数据类型,其中包括,(max),数据类型。,N,常量字符串,表示常量字符串,该字符串可以是,nvarchar,或,varchar,数据类型。如果包含字母,N,,则字符串将解释为,nvarchar,数据类型。,LOGIN,指定要模拟的上下文是登录名。模拟范围为服务器。,USER,指定要模拟的上下文是当前数据库中的用户。模拟范围只限于当前数据库。对数据库用户的上下文切换不会继承该用户的服务器级别权限。,执行字符串时,数据库上下文的更改只在,EXECUTE,语句结束前有效。,任务,8.1,创建存储过程,8.1.6,管理

7、存储过程,1.,查看存储过程信息,查看过程名称的列表:使用,sys.objects,目录视图。,显示存储过程的定义:使用,sys.sql_modules,目录视图。,查看存储过程的定义:使用,sp_helptext,系统存储过程。,查看存储过程包含的参数:使用,sp_help,系统存储过程。,查看存储过程的相关性:使用,sp_depends,系统存储过程。,任务,8.1,创建存储过程,8.1.6,管理存储过程,2.,修改存储过程,若要对现有的用户定义存储过程进行修改,可以使用,ALTER PROCEDURE,语句来实现。在对象资源管理器中可以针对指定的存储过程快速生成所需的,ALTER PRO

8、CEDURE,语句。,3.,重命名存储过程,若要重命名存储过程,可在对象资源管理器中右键单击该存储过程并选择“重命名”,然后输入新的过程名称。此外,也可使用系统存储过程,sp_rename,对用户定义存储过程进行重命名。,4.,删除存储过程,可以使用,SSMS,对象资源管理器将存储过程从数据库中删除。也可以使用,DROP PROCEDURE,语句从当前数据库中删除一个或多个存储过程或存储过程组,语法格式如下。,DROP PROC|PROCEDURE IF EXISTS,构架名称,.,过程,.,任务,8.1,创建存储过程,8.2.1,理解触发器,1.DML,触发器,当数据库中发生数据操作语言(,

9、DML,)事件时将调用,DML,触发器。,DML,事件包括在指定表或视图中修改数据的,INSERT,语句、,UPDATE,语句或,DELETE,语句。,DML,触发器可以用于强制业务规则和数据完整性、查询其他表并包括复杂的,Transact-SQL,语句。触发器和触发它的语句可以作为在触发器内回滚的单个事务对待。,如果检测到错误(例如磁盘空间不足),则整个事务即自动回滚。,按照触发器事件的不同,,DML,触发器分为三种类型,即,INSERT,触发器、,UPDATE,触发器以及,DELETE,触发器。,2.DDL,触发器,当服务器或数据库中发生数据定义语言(,DDL,)事件时将调用,DDL,发器

10、。像常规,DML,触发器一样,,DDL,触发器将激发存储过程以响应事件。但与,DML,触发器不同的是,它们不是为响应针对表或视图的,UPDATE,、,INSERT,或,DELETE,语句而激发,而是为响应多种数据定义语言(,DDL,)语句而激发。这些语句主要是以,CREATE,、,ALTER,和,DROP,开头的语句。,DDL,触发器可以用于管理任务,例如审核和控制数据库操作。,任务,8.2,创建触发器,8.2.1,理解触发器,1.DML,触发器,当数据库中发生数据操作语言(,DML,)事件时将调用,DML,触发器。,DML,事件包括在指定表或视图中修改数据的,INSERT,语句、,UPDAT

11、E,语句或,DELETE,语句。,DML,触发器可以用于强制业务规则和数据完整性、查询其他表并包括复杂的,Transact-SQL,语句。触发器和触发它的语句可以作为在触发器内回滚的单个事务对待。,如果检测到错误(例如磁盘空间不足),则整个事务即自动回滚。,按照触发器事件的不同,,DML,触发器分为三种类型,即,INSERT,触发器、,UPDATE,触发器以及,DELETE,触发器。,2.DDL,触发器,当服务器或数据库中发生数据定义语言(,DDL,)事件时将调用,DDL,发器。像常规,DML,触发器一样,,DDL,触发器将激发存储过程以响应事件。但与,DML,触发器不同的是,它们不是为响应针

12、对表或视图的,UPDATE,、,INSERT,或,DELETE,语句而激发,而是为响应多种数据定义语言(,DDL,)语句而激发。这些语句主要是以,CREATE,、,ALTER,和,DROP,开头的语句。,DDL,触发器可以用于管理任务,例如审核和控制数据库操作。,任务,8.2,创建触发器,8.2.2,实现,DML,触发器,1.DML,触发器的类型,(,1,),AFTER,触发器:这种类型的触发器在执行了,INSERT,、,UPDATE,或,DELETE,语句操作之后执行,它仅适用于表。,AFTER,触发器可以分为以下三种类型:,INSERT,触发器、,UPDATE,触发器和,DELETE,触发

13、器。,(,2,),INSTEAD OF,触发器:执行这种类型的触发器可以代替通常的触发动作,还可以为带有一个或多个基表的视图定义,INSTEAD OF,触发器,通过这些触发器能够扩展视图可支持的更新类型。,2.,创建,DML,触发器,DML,触发器可以使用,CREATE TRIGGER,语句来创建,基本语法格式如下。,CREATE OR ALTER TRIGGER ,架构名称,.,触发器名称,ON,表,|,视图,WITH ENCRYPTION,FOR|AFTER|INSTEAD OF,INSERT,UPDATE,DELETE,AS.,任务,8.2,创建触发器,8.2.2,实现,DML,触发器,

14、1.DML,触发器的类型,(,1,),AFTER,触发器:这种类型的触发器在执行了,INSERT,、,UPDATE,或,DELETE,语句操作之后执行,它仅适用于表。,AFTER,触发器可以分为以下三种类型:,INSERT,触发器、,UPDATE,触发器和,DELETE,触发器。,(,2,),INSTEAD OF,触发器:执行这种类型的触发器可以代替通常的触发动作,还可以为带有一个或多个基表的视图定义,INSTEAD OF,触发器,通过这些触发器能够扩展视图可支持的更新类型。,2.,创建,DML,触发器,DML,触发器可以使用,CREATE TRIGGER,语句来创建,基本语法格式如下。,CR

15、EATE OR ALTER TRIGGER ,架构名称,.,触发器名称,ON,表,|,视图,WITH ENCRYPTION,FOR|AFTER|INSTEAD OF,INSERT,UPDATE,DELETE,AS.,任务,8.2,创建触发器,8.2.3,实现,DDL,触发器,1.,理解,DDL,触发器,设计,DDL,触发器之前,必须了解,DDL,触发器的作用域并确定触发触发器的,Transact-SQL,语句或语句组。,在响应当前数据库或服务器中处理的,Transact-SQL,事件时,都会激发,DDL,触发器。触发器的作用域取决于事件。例如,每当数据库中发生,CREATE TABLE,事件时

16、,都会触发为响应,CREATE TABLE,事件创建的,DDL,触发器。每当服务器中发生,CREATE LOGIN,事件时,都会触发为响应,CREATE LOGIN,事件。,2.,创建,DDL,触发器,DDL,触发器可以使用,CREATE TRIGGER,语句来创建,基本语法格式如下。,CREATE OR ALTER TRIGGER,触发器名称,ON ALL SERVER|DATABASE,WITH ENCRYPTION,FOR|AFTER,事件类型,|,事件组,.,AS SQL,语句,.,任务,8.2,创建触发器,8.2.4,管理触发器,1.,修改触发器,使用,ALTER TRIGGER,可以更改以前使用,CREATE TRIGGER,语句创建的,DML,或,DDL,触发器的定义。除了以,ALTER,关键字开头之外,,ALTER TRIGGER,的语法组成与,CREATE TRIGGER,是相同的。,2.,重命名触发器,若要重命名触发器,可使用,sp_rename,系统存储过程来实现。重命名触发器并不会更改它在触发器定义文本中的名称。要在定义中更改触发器的名称,应直接修改触发器。,若

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

相关资源

更多
正为您匹配相似的精品文档
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  sobing.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!