- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
机电工程学院本科专业课程《工程数据管理》 授课教师:陈永当 授课日期:* 上讲回顾 本讲内容 - 结 束 - */23 * 西安工程大学机电工程学院 第八章 存储过程 8.1 基本概念 8.2 创建存储过程 8.3 游标 8.4 编程 第九章 触发器 9.1 基本概念 9.2 创建触发器 9.3 触发器类型 第九章 触发器 9.1 基本概念 9.2 创建触发器 9.3 触发器类型 SQL Server 2000 提供了两种主要机制用来完成强制业务规则和数据完整性,即:约束、触发器。 (1)触发器是一种特殊类型的存储过程,它在指定表中的数据发生变化时,自动生效执行这个‘过程’。 (2)唤醒调用触发器以响应INSERT、UPDATE 或 DELETE 语句。 (3)触发器和过程一样,可以查询操作其它表,可以包含复杂的 Transact-SQL 语句。 (4)触发器和触发它的语句作为可在触发器内回滚的单个事务对待。如果检测到严重错误(例如,磁盘空间不足等),则整个事务即自动回滚。 第九章 触发器 9.1 基本概念 触发器是一个特殊的存储过程: (1)触发器可以实现数据库中相关表的级联更改;(也可以通过级联引用完整性约束,实现级联更改) (2)触发器可以强制比用 CHECK 约束定义的约束更为复杂的约束。(比CHECK 约束功能强,触发器可以引用其它表中的列,完成复杂的业务约束。) (3)触发器可以评估数据修改前后的表状态,并根据其差异采取对策。 第九章 触发器 9.1 基本概念 触发器完善了数据完整性约束: (1)FOREIGN KEY 约束只能以与另一表n列中的值完全匹配的值来验证列值;——触发器可以根据业务要求,按条件完成匹配关系。 (2)CHECK 约束只能根据逻辑表达式或同一表中的另一列来验证列值;——如果应用程序要求根据另一个表中的列验证列值,则必须使用触发器。 (3)约束只能通过标准的系统错误信息传递错误信息;——如果应用程序要求使用自定义信息和较为复杂的错误处理,则必须使用触发器。 (4)触发器可通过数据库中的相关表实现级联更改; (5)触发器可以禁止或回滚违反引用完整性的更改,从而取消所尝试的数据修改。(事件,回滚) 第九章 触发器 9.1 基本概念 触发器与数据库基表约束比较,其特点是: 第九章 触发器 9.1 基本概念 9.2 创建触发器 9.3 触发器类型 CREATE PROCEDURE CYD20083 @JGBH char(10) --参量 AS Declare @XSXM char(10), @XB CHAR(2), @FS INT,@LS INT --定义变量 SET @LS =0 Declare AA1 Scroll Cursor FOR --定义游标, 游标名为 ccur0 Select XSXM,XB,FS From T_XSJBQK Where JGBH= @JGBH FOR Update of LJ Open AA1 --打开游标 Fetch Next From AA1 Into @XSXM,@XB,@FS --游标下移一个记录,值给变量 While @@Fetch_Status=0 --开始循环,检查游标是否到文件底 begin Set @LS = @LS+@FS Update T_XSJBQK SET LJ=@LS where current of AA1 Fetch Next From AA1 Into @XSXM,@XB,@FS --游标下移一个记录,游标值给变量 end --循环结束 Close AA1 --关闭游标 deallocate AA1 第九章 触发器 9.2 创建触发器 CREATE PROCEDURE CYD20084 --无参量 AS Declare @XSXM char(10), @XB CHAR(2), @FS INT,@LS INT --定义变量 SET @LS =0 Declare AA2 Scroll Cursor FOR --定义游标, 游标名为 ccur0 Se
文档评论(0)