日期:2014-05-18  浏览次数:20488 次

触发器的问题,各位大侠帮我看看如何写一个这种类型的触发器啊
比如有个表   TableProduct
我想建个触发器
当TableProduct表发生Insert/Update/Delete时把发生变化的数据插入到一个日志表里面去,请问这个触发器该怎么写啊?

------解决方案--------------------
create trigger tr_stest_i on TableProduct for insert
as
insert 日志表
select * from inserted
go
create trigger tr_stest_i on TableProduct for delete
as
insert 日志表
select * from deleted
go
create trigger tr_stest_i on TableProduct for update
as
insert 日志表
select * from inserted
go

------解决方案--------------------
--不知道這樣可以不?
create trigger t1
on TableProduct
for insert,update,delete
AS
if(update(col1) or update(col2) or update(col3) ..)
begin
insert into 日志表 select * from inserted
end
else
begin
insert into 日志表 select * from deleted
end
Go
------解决方案--------------------
當然,如果你update時,要記錄的是原來的record,而不是update後的record,
那update時,也要從deleted表抓.