SQL Server数据库及应用(第二版)课件:存储过程与触发器.ppt

SQL Server数据库及应用(第二版)课件:存储过程与触发器.ppt

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

9.4.1查看存储过程sp_helptext:用于显示存储过程的源代码sp_helptext[[@objname=]name]参数name为要查看的存储过程的名称。9.1.5修改存储过程1.使用SSMS修改存储过程使用SSMS可以很方便地修改存储过程的定义。在SSMS中右击要修改的存储过程,从弹出的快捷菜单中选择“修改”选项,则会出现与创建存储过程时类似的窗口。在该窗口中,可以直接修改定义该存储过程SQL语句。9.1.5修改存储过程2.使用T-SQL语句修改存储过程使用ALTERPROCEDURE语句可以更改存储过程,但不会更改权限,也不影响相关的存储过程或触发器。其语法形式如下:ALTER{PROC|PROCEDURE}[schema_name.]procedure_name[{@parameter[type_schema_name.]data_type}[VARYING][=default][OUT|OUTPUT][READONLY]][,...n][WITH[ENCRYPTION][[,]RECOMPILE]][FORREPLICATION]ASsql_statement[...n]9.1.5修改存储过程修改存储过程时,应该注意以下几点:如果原来的过程定义是使用WITHENCRYPTION创建的,那么只有在ALTERPROCEDURE中也包含这个选项时,这个选项才有效。每次只能修改一个存储过程。用ALTERPROCEDURE更改的存储过程的权限保持不变。9.1.5修改存储过程例9-9:修改存储过程proc_GetProductsCheck,使之完成以下功能:在表Product中查找指定名称的产品的产品编号、产品名称、标准成本、销售价格和开始销售日期等字段。9.1.6删除存储过程1.使用SSMS删除存储过程在打开的SSMS窗口中,右击要删除的存储过程,从弹出的快捷菜单中选择“删除”选项,会弹出“删除对象”对话框。在该对话框中,单击“确定”按钮,即可完成删除操作。在删除该对象之前,单击“显示依赖关系”按钮,可以查看与该存储过程有依赖关系的其他数据库对象名称。9.1.6删除存储过程2.使用T-SQL语句删除存储过程DROP语句可以将一个或者多个存储过程或者存储过程组从当前数据库中删除,其语法形式如下:DROP{PROC|PROCEDURE}{[schema_name.]procedure}[,...n]例9-10:删除AWLT数据库中的proc_CustomerName和proc_GetProductsCheck两个存储过程。9.2触发器9.2.1触发器概述1.触发器的概念触发器是一种特殊类型的存储过程,当某个事件发生时,它自动被触发执行。触发器可以用于SQLServer约束、默认值和规则的完整性检查,还可以完成用普通约束难以实现的复杂功能。触发器和引起触发器执行的SQL语句被当作一次事务处理,如果这次事务未获得成功,SQLServer会自动返回该事务执行前的状态。9.2.1触发器概述2.触发器的优点(1)触发器可以通过数据库中的相关表进行级联更改。(2)触发器可以防止恶意或错误的INSERT、UPDATE以及DELETE操作,并强制执行比CHECK约束定义的限制更为复杂的其他限制。(3)触发器可以比较表数据修改前后的状态,并根据该差异采取相应措施。9.2.1触发器概述在SQLServer2008中,触发器可以分为:DML触发器DDL触发器登录触发器9.2.1触发器概述(1)DML触发器是在用户使用数据操纵语言(DML)事件编辑数据时发生。DML事件是针对表或视图的INSERT、UPDATE或DELET操作。DML触发器有助于在表或视图中修改数据时强制业务规则,扩展数据完整性。DML触发器又分为AFTER触发器和INSTEADOF触发器两种。9.2.1触发器概述AFTER触发器:这种类型的触发器将在数据变动(INSERT、UPDATE和DELETE操作)完成以后才被触发。可以对变动的数据进行检查,如果发现错误,将拒绝接受或回滚变动的数据。AFTER触发器只能在表上定义。在同一个数据表中可以创建多个AFTER触发器。9.2.1触发器概述INSTEADOF触发器:INSTEADOF触发器将在数据变动以前被触发,并取代变动数据的操作(INSERT、UPDATE和DELETE操作),而去执行触发器定义的操作。INSTEADOF触发器可

文档评论(0)

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

中医资格证持证人

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

领域认证该用户于2023年05月10日上传了中医资格证

1亿VIP精品文档

相关文档