微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sqlserver触发器使用举例


--------------INSERT触发器--------------------------  alter trigger trig_transinfo_insert  on transinfo  for insert,update  as  print '开始执行触发器------------------------------'  print '临时表的内容::----------'  select * from inserted  print '-------------------'  declare @type varchar(20)  declare @transmoney money  declare @cardid varchar(20)  set @type=(select transtype from inserted )  set @transmoney=(select transmoney from inserted )  set @cardid=(select cardid from inserted )  print @type +'   '+@cardid  if(@type='存入')  begin  update bank set currentmoney=  currentmoney+@transmoney where cardid=@cardid  select * from bank  end  else  begin  update bank set currentmoney=  currentmoney-@transmoney where cardid=@cardid  select * from bank  end  update transinfo set transmoney=500  where cardid='8505 001' and transtype='支取'  print '触发器执行完毕'  go  update bank set cardid='8505 001' where usernam='张荧'  update bank set cardid='8505 002' where usernam='王博'  select * from transinfo  insert into transinfo values  ('8505 001','支取',200,default)  insert into transinfo values  ('8505 002','存入',default)  ----========删除触发器=========  alter trigger trig_transinfo_delete  on transinfo  for delete  as  print '开始执行删除触发器'  print '  '  select * from deleted  --==========把删除数据备份到新表中  if exists(select * from sysobjects where name='newTable')  --如果备份表存在,就添加新数据到备份表  insert into newtable select *  from deleted where datediff(mm,transdate,getdate())>=1  else --如果备份表不存在,就用deleted创建一个新的备份表  select * into newTable from deleted where datediff(mm,getdate())>=1  select * from newtable  select * from transinfo  print '备份结束'  go  select * from transinfo  delete from transinfo where cardid='8505 001' and  transtype='存入' 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐