- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
sql实现触发器
实现数据完整性之触发器 触发器是一种特殊的存储过程,它在执行语言事件执行时自动生效。SQL Server 包括两大类触发器:DML 触发器和 DDL 触发器。 DDL 触发器是 SQL Server 2005 的新增功能。当服务器或数据库中发生数据定义语言 (DDL) 事件时将调用这些触发器。 当数据库中发生数据操作语言 (DML) 事件时将调用 DML 触发器。DML 事件包括在指定表或视图中修改数据的 INSERT 语句、UPDATE 语句或 DELETE 语句。 DML触发器 当执行INSERT, UPDATE或者DELETE语句修改指定表时执行 两类触发器: AFTER 触发器在执行 INSERT、UPDATE 或 DELETE 语句的操作之后执行。 INSTEAD OF触发器代替INSERT, UPDATE或DELETE 语句执行 触发器和初始化语句是一个事务的一部分 DML 触发器的主要优点在于它们可以包含使用 Transact-SQL 代码的复杂处理逻辑。 INSERT 触发器的工作方式 CREATE TRIGGER [insrtWorkOrder] ON [Production].[WorkOrder]AFTER INSERT ASBEGIN SET NOCOUNT ON; INSERT INTO [Production].[TransactionHistory]( [ProductID],[ReferenceOrderID],[TransactionType] ,[TransactionDate],[Quantity],[ActualCost]) SELECT inserted.[ProductID],inserted.[WorkOrderID] ,W,GETDATE(),inserted.[OrderQty],0 FROM inserted;End 执行INSERT语句 1 执行AFTER INSERT触发器语句 3 记录INSERT语句 2 CREATE TRIGGER [delCustomer] ON [Sales].[Customer]AFTER DELETE ASBEGIN SET NOCOUNT ON; EXEC master..xp_sendmail @recipients=NSalesManagers@Adventure-W, @message = NCustomers have been deleted!!;END; DELETE 触发器的工作方式 执行DELETE语句 执行AFTER DELETE 触发器语句 记录DELETE 语句 1 3 2 CREATE TRIGGER [updtProductReview] ON [Production].[ProductReview]AFTER UPDATE NOT FOR REPLICATION AS BEGIN UPDATE [Production].[ProductReview] SET [Production].[ProductReview].[ModifiedDate] = GETDATE() FROM inserted WHERE inserted.[ProductReviewID] = [Production].[ProductReview].[ProductReviewID];END; UPDATE 触发器的工作方式 执行UPDATE 语句 执行AFTER UPDATE触发器语句 记录UPDATE 语句 1 3 2 临时表Inserted和Deleted DML 触发器语句使用两种特殊的表: 删除的表(Deleted)和插入的表(Inserted)。 SQL Server 2005 会自动创建和管理这两种表。 删除的表(Deleted)用于存储 DELETE 和 UPDATE 语句所影响的行的副本。在执行 DELETE 或 UPDATE 语句的过程中,行从触发器表中删除,并传输到删除的表中。删除的表和触发器表通常没有相同的行。 插入的表(Inserted)用于存储 INSERT 和 UPDATE 语句所影响的行的副本。在插入或更新事务期间,新行将同时被添加到插入的表和触发器表。插入的表中的行是触发器表中的新行的副本。 更新事务类似于在删除操作之后执行插入操作;首先,旧行被复制到删除的表中,然后,新行被复制到触发器表和插入的表中。 CREATE TRIGGER [delEmployee] ON [HumanResources].[Em
您可能关注的文档
- 2012结构初级班讲义合集.pdf
- 2015-16年度布瑞克中国玉米行业研究及展望报告20160126.pdf
- 2015学年第二学期幼教工作行事历.doc
- 2015年9月内蒙古政法干警《申论》试卷.PDF
- 2016年315活动竞赛试题.doc
- 2016年提前下达转移支付资金预算安排表.PDF
- 2016年河南省普通高校招生本科二批院校平行投档分数线(.PDF
- 2016年浙江省丽水市中考真题物理试卷(WORD版,含解析).doc
- 2017-2022苯氧羧酸类除草剂原药行业市场需求分析及投资预测报告.doc
- 2017-2022除草剂原药行业市场需求分析及投资预测报告.doc
- [普洱]2024年云南普洱市融媒体中心急需紧缺人才招聘8人笔试历年高频考点(难、易错点)附带答案详解.docx
- [普洱]2024年云南普洱市人力资源和社会保障局招聘城镇公益性岗位工作人员笔试历年高频考点(难、易错点)附带答案详解.docx
- [普洱]2023年云南普洱景谷县威远镇卫生院编外专业技术人员招聘6人笔试历年高频考点(难、易错点)附带答案详解.docx
- [普洱]2024年云南普洱宁洱县医疗卫生事业单位急需紧缺人才招聘11人笔试历年高频考点(难、易错点)附带答案详解.docx
- [普洱]2024年云南普洱孟连县医疗卫生事业单位急需紧缺人才招聘6人笔试历年高频考点(难、易错点)附带答案详解.docx
- [晋城]山西晋城市残疾人联合会党组引进高层次人才笔试历年高频考点(难、易错点)附带答案详解.docx
- [晋城]山西晋城市文化和旅游局党组引进高层次人才10人笔试历年高频考点(难、易错点)附带答案详解.docx
- [普洱]云南普洱墨江哈尼族自治县审计局招聘驾驶员笔试历年高频考点(难、易错点)附带答案详解.docx
- 江西省九江市修水县2023-2024学年八年级下学期6月期末语文试题.docx
- 新版标准日本语初级下册语法总结.docx
最近下载
- 三年级下册口算天天100题(A4打印版).pdf
- 青岛版数学八年级上整册(同步课时训练+综合提升训练+章末专题训练+各单元测试卷+期中期末测试卷,PDF版).pdf
- 人教版四年级上册数学第三单元《角的度量》测试卷及参考答案一套.docx
- 小学英语 It s not easy to be a mother 课件.pptx VIP
- 一年级下册美术《介绍我喜欢的玩具》公开课教案.docx
- 苏教版五年级上册数学全书课件.ppt
- 信息技术微能力A5 小学数学《摆一摆 想一想》课堂导入案例.docx
- 《My favourite colour》教学设计教学目标.doc
- (苏教版)小学数学五年级下册暑假作业设计.doc
- SKF轴承选型样本-2019.pdf
文档评论(0)