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)