SQL 2008 触发器的使用

delete

if (object_id('tgr_client_delete', 'tr') is not null)
    drop trigger tgr_client_delete
go
create trigger tgr_client_delete
on clientinfo
    for delete --删除触发
as
    --定义变量
    declare @class varchar(255), @name varchar(255);
    --在deleted表中查询已经删除记录信息
    select @class = clientclass,@name = clientname from deleted;
    if @class=N'科室'
 begin
  if object_id(@name,N'U') is not null
  begin
   execute('drop table
'+@name
)
  end
 end   
go
--插入数据
insert into clientinfo(ip,clientname,clientclass,flag) values('1.1.1.1','中国','科室',0)

update

if (object_id('tgr_client_update', 'tr') is not null)
    drop trigger tgr_client_update
go
create trigger tgr_client_update
on clientinfo
    for update --更新触发
as
    --定义变量
    declare @class varchar(255), @newname varchar(255),@oldname varchar(255);
 
    select @class = clientclass,@oldname = clientname from deleted;
    if @class=N'科室'
 begin
  if object_id(@oldname,N'U') is not null
  begin
   select @newname=clientname from inserted
   execute sp_rename @oldname,@newname 
  end
 end   
go
--插入数据
insert into clientinfo(ip,clientname,clientclass,flag) values('1.1.1.1','中国','科室',0)



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值