SQL触发器使用参考代码.doc

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

 PAGE 5 触发器 use EBuy if exists (select * from sys.all_objects where name=custDel and type=TR) --判断custDel存储过程是否存在,存在则删除它 drop trigger custDel go create trigger custDel on customer --创建存储过程 for delete --触发器类型 as print 客户记录被删除 delete from customer where cusid=1201 --删除验证 select * from customer --查询customer表 sp_helptext custDel --查看存储过程 use Study --创建新表 create table major_stat( majorName varchar(50), toStu int, toCredit int ) create trigger updateMajorStat --创建存储过程 on student for insert,update,delete --触发器类型 as begin delete from major_stat insert into major_stat select majorName,count(*), sum(credit) from student s inner join major m on s.majorid=m.majorid group by majorName end insert into student values(071126,李静,2,男,1985-10-20,42,null) update student set credit=credit+2 where majorid=1 delete from student where stuid=071126 select * from student select * from major_stat --insert触发器 use Study go select * from course select * from student_course select * from student if exists(select name from sys.all_objects where name=insertScore and type=TR) drop trigger insertScore go create trigger insertScore on student_course for insert as if(select score from inserted)=60 begin declare @stuid char(6),@couid char(3),@credit int select @stuid=stuid,@couid=couid from inserted select @credit=couCredit from course where couid=@couid update student set credit=credit+@credit where stuid=@stuid end insert into student_course values(071001,C17,70) --update触发器 if exists(select name from sys.all_objects where name=updateCouHour and type=TR) drop trigger insertScore go create trigger updateCouHour on course for update as declare @oldnum int,@newnum int begin select @oldnum=couHour from deleted select @newnum=couHour from inserted if @newnum@oldnum or @newnum50 begin print 课时不能高于原课时数并且不能低于50 rollback tran end end go update course set couHour=couHour-2 where couid like A01 --delete触发器 create trigger delMajor on m

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档