SQL触发器实例.doc

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

--建立触发器,显示修改人数 create trigger d1 on jun for insert,update as select 你正在修改数据 declare @a varchar(20) select @a=str(@@rowcount)+个学生被修改 select @a select * from jun return insert into jun(爱好) values(跑步) update jun set 爱好=打球 where 学号=103 --建立触发器,当男生人数在6个以内可以加入,否则不能加入 create trigger i1 on zg for insert as if((select count(性别) from zg where 性别=男)6) select 不能插入,男生人数已满。 else select插入成功 select * from zg insert into zg(学号,姓名,性别) values江渝,男) --建立触发器,如果语文成绩在200以内可以修改,否则不能修改 create trigger u1 on zg for update as if((select max(语文) from zg )200) begin select 你不能修改 rollback end else select 修改成功 select * from zg update zg set 语文=语文+10 where 姓名=唐荣强 update zg set 语文=语文-20 where 姓名=张军 update zg set 语文=语文+30 where 姓名=张军 --建立触发器,显示删除和修改的内容 create trigger d2 on zg for insert,update,delete as select * from deleted select * from inserted select * from zg delete from zg where 班级=Null delete from zg where 姓名=张军 --建立触发器,如果zg表中没有此人的姓名,则不能在kc表中进行修改 create trigger i2 on kc for insert,update as if(not exists(select 姓名 from zg where 姓名=(select 姓名 from inserted))) begin select 不能修改数据 rollback select * from kc end else begin select 修改成功 select * from kc end update kc set 选修人数=选修人数+100 where 姓名=张军 --建立触发器,更行zg时也更新kc create trigger u2 on zg for update as select * from deleted select * from inserted update kc set 姓名=(select min(姓名) from inserted )where 姓名=(select min(姓名) from deleted) select * from zg select * from kc update zg set 姓名=张晓军 where 姓名=张军 --建立触发器,如果加入的数2000就不能插入并将默认值为500 create trigger i3 on zg for insert as if((select 语文 from inserted)2000) begin select 语文2000不合适 update zg set 语文=500 select * from zg rollback end else select 修改成功 insert into zg(班级,姓名,学号,语文) values(小数,王五2500) --建立触发器,不能删除总成绩最高的人 create trigger d3 on zg for delete as if( select 总成绩 from deleted) = ( select max(总成绩)from zg) begin select 删除的数为: select * from deleted select 不能删除成绩最高的一位 rollback end else select 删除成功 select * from zg delete from zg where 姓名=唐荣强 --建立触发器,英语增长不超过250% create trigger u3 o

文档评论(0)

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

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

1亿VIP精品文档

相关文档