项目八公司管理数据库系统中触发器的使用内容摘要:

歌 ” 的员工 , 则撤消该插入操作 , 并返回出错消息 CREATE TRIGGER 例 3 ON Employee FOR INSERT AS DECLARE @hoobby varchar(20) SELECT @hoobby = FROM inserted IF @hoobby =39。 舞蹈 39。 OR @hoobby=39。 唱歌 39。 BEGIN print 39。 不能插入非本公司设定部门的员工信息。 39。 ROLLBACK TRANSACTION END 观察操作结果: INSERT employee(雇员 id,姓名 ,性别 ,雇佣日期 ,特长 ,薪水 ) VALUES(‘013’ ‘李亮 ’ , ‘男 ’ , ‘2020720’, ‘舞蹈 39。 , 4000) 程序 2: INSERT employee(雇员 id,姓名 ,性别 ,雇佣日期 ,特长 ,薪水 ) VALUES( ‘014’,39。 洪皓 39。 , 39。 男 39。 , 39。 202072139。 , 39。 杂技 39。 , 4100) 2) 使用 DELETE触发器 当触发 DELETE触发器后 , 从受影响的表中删除的行将被放置到 deleted表中。 【 例 4】 创建一个名为 “ 例 4”的触发器,其功能是:当对employee表进行删除操作时,那么 p_order表中凡是该雇员处理的订单都要被删除。 create trigger 例 4 on employee for delete as Declare @id char(10) Select @id=雇员 id From deleted Delete p_order Where 雇员 id=@id 3) 使用 UPDATE触发器 修改触发器和插入触发器的工作过程基本上一致 , 修改一条记录相当于插入了一条新的记录 ,删除一条旧的记录。 可将 UPDATE语句看成两步操作:即捕获数据前像的 DELETE语句 , 和捕获数据后像的 INSERT语句。 当在定义有触发器的表上执行 UPDATE语句时 ,原始行 ( 前像 ) 被移入到 deleted表 , 更新行 ( 后像 ) 被移入到 inserted表。 【 例 5】 在 product表上创建了一个修改触发器,该触发器防止用户修改产品的库存量过大,如果库存量的变化超过 100时给出错误提示,并回滚。 CREATE TRIGGER 例 5 ON PRODUCT FOR UPDATE AS IF (SELECT ABS( ) FROM INSERTED, DELETED where ID= ID )100 BEGIN PRINT 39。 库存量修改过大。 39。 ROLLBACK TRANSACTION END 任务 2: 建立触发器项目 8_5, 如果删除 p_order表中的单。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。