现在作一个update 触发器,判断 触发的sql语句 只更新 发布时间 和 时间 才执行触发器中的方法,这个触发器应该如何写呢....
------解决方案--------------------
举个例子给你
create trigger t1 on table1 for update
as
begin
declare @id int,@c int,@c1 int,@updatetime datetime
select @id=id,@c=c,@updatetime=updatetime from inserted
if datediff(dd,@updatetime,updatetime)=0 --条件
begin
update table2 set c=c-@c where id=@id
end
end
------解决方案--------------------
假设你的表一共8列以内,你的这两个字段分别第3、第6列,你的触发器大概如下
CREATE TRIGGER tr_test ON test
AFTER UPDATE
AS
IF SUBSTRING(COLUMNS_UPDATED(),1,1) & 219 <> 0
begin
RAISERROR ('只允许修改字段3和6');
ROLLBACK TRANSACTION;
end
GO
------解决方案--------------------
学习了!