- 1
- 0
- 约1.42万字
- 约 55页
- 2019-09-05 发布于湖北
- 举报
3.UPDATE触发器 该触发器在用户发出UPDATE语句后触发执行,即为用户修改数据行增加限制规则。 UPDATE触发器合并了DELETE触发器和INSERT触发器的作用。 在用户执行了UPDATE语句后,原来的数据行从基本表中删除,但保存在DELETED表中,同时基本表更新后的新数据行也在INSERTED表中保存了一个副本。 可利用DELETED表和INSERTED表,获取更新前后的数据行,完成比较操作。 5.3.2 创建触发器 【例5.14】创建一个UPDATE触发器,当用户更新stock表中的数据时,从INSERTED表中读取修改的新的amount值,如果该值小于1,将撤销更新操作;触发器从DELETED表中查询中修改前的值,将其重新更新到stock表中。 5.3.2 创建触发器 CREATE TRIGGER tr4_stock ON stock FOR UPDATE AS DECLARE @amount_new int,@amount_old int, @mat_num char(10) SELECT @amount_new=amount,@mat_num=mat_num FROM INSERTED IF @amount_new1 BEGIN SELECT @amount_old=amount FROM DELETED UPDATE stock set amount=@amount_old WHERE mat_num=@mat_num PRINT the row can not be UPDATED! END 【例5.15】修改前面创建的UPDATE触发器,使其先检测更新的列,当更新warehouse列时,禁止更新;当更新库存量amount列时,设置更新规则,若更新后的值小于1,则撤销该更新操作。 5.3.2 创建触发器 CREATE TRIGGER tr5_stock ON stock FOR UPDATE AS DECLARE @amount int IF UPDATE(warehouse) BEGIN ROLLBACK TRAN PRINT 不允许修改物资存放仓库! END IF UPDATE(amount) BEGIN SELECT @amount=amount FROM INSERTED IF @amount1 BEGIN ROLLBACK TRAN PRINT 库存量小于1,不允许更新! END END 4. INSTEAD OF触发器 INSTEAD OF触发器为替代操作触发器,用于视图操作。因为视图有时显示的是表中的部分列,因此用视图修改基本表中的数据行时有可能导致失败。解决方法之一就是针对视图建立INSTEAD OF触发器,通过触发器插入所缺的列值,完成更新。 当视图执行到对基本表的插入、删除和更新操作时,用触发器的操作替代视图的操作。 注意:视图只能使用INSTEAD OF触发器,而不能直接使用INSERT、UPDATE和DELETE触发器。 5.3.2 创建触发器 【例5.16】创建一个INSTEAD OF触发器,在视图往基本表中插入数据行时,补充mat_num的列值。 5.3.2 创建触发器 首先生成基于stock表的视图view_stock,代码如下: CREATE VIEW view_stock AS SELECT mat_name,speci,warehouse,amount,unit FROM stock 若通过下面的语句向基本表中插入数据: INSERT INTO view_stock VALUES(护套绝缘电线,BVV-120,供电局1#仓库,10,110) 由于视图中不包括mat_num列,而基本表中主键mat_num不能为空,则该语句会出现错误。 解决办法: 创建一个INSTEAD OF触发器,在通过视图往基本表中插入数据时,补充mat_num列的值。 CREATE TRIGGER tr_viewstock ON view_stock INSTEAD OF INSERT AS DECLARE @mat_num char(10),@mat_name char(50), @speci char(50),@warehous
您可能关注的文档
- 第五章 物质的聚集状态.ppt
- 第五章 生化反应器的比拟放大.ppt
- 第五章 电子光学基础.ppt
- 第五章 甾体化合物.ppt
- 第五章 环境污染生物净化的原理.ppt
- 第五章 污水的好氧生物处理--活性污泥法.ppt
- 第五章 社会动机.ppt
- 第五章 窗体设计.ppt
- 第五章 直线方向的测量.ppt
- 第五章 灌溉水源与灌溉水利工程计算.ppt
- 山西天一大联考2025-2026学年高二上学期期末学情监测语文试题(试卷+解析).docx
- 山西忻州部分学校2025-2026学年高一上学期2月质量检测数学试题(人教B版)(试卷+解析).docx
- 山西运城市2025-2026学年高二第一学期期末调研测试数学试题(试卷+解析).docx
- 陕西省榆林市榆阳区2025-2026学年八年级上学期期末地理试题(试卷+解析).docx
- 陕西西安市碑林区2025-2026学年度第一学期期末八年级生物试题(试卷+解析).docx
- 四川省广元市苍溪县2025-2026年八年级上学期期末道德与法治试题(试卷+解析).docx
- 江苏泰州市姜堰区2025-2026学年七年级上学期1月期末数学试题(试卷+解析).docx
- 江苏省扬州市邗江区2025-2026学年九年级上学期期末考试化学试题(试卷+解析).docx
- 江西上饶市铅山县2025-2026学年第一学期期末考试八年级数学试题(试卷+解析).docx
- 江苏扬州市高邮市2025-2026学年度第一学期期末学业质量监测试题九年级英语(试卷+解析).docx
最近下载
- 1994版央视《三国演义》电视剧台词汇总-中部分(31-60集).docx VIP
- AOI缺陷示意图照片辨认.NEW.ppt VIP
- 2025年高考语文备考之教考衔接:教材小说、散文知识点归纳.pdf VIP
- 1994版央视《三国演义》电视剧台词汇总-上部分(1-30集).docx VIP
- SIEMENS西门子 在WinCC V7.5 SP1中通过VBA创建变量和画面.pdf VIP
- 数学竞赛集八年级数学竞赛试题含答案详解.pdf VIP
- 局部放电典型图谱.pdf VIP
- 内蒙古农业大学有机化学机理题期末考试试卷(含答案) .pdf VIP
- Q_370211QDHC001-2019宠物食品企业标准.docx VIP
- 2025年湖南单招电气自动化试题及答案.docx VIP
原创力文档

文档评论(0)