create trigger tr_process on bill
for insert,update
as
if update(ifupdate) or updatedate(updatedate)
return
update a set ifupdate=1,updatedate=getdate()
from bill a, inserted i
where a.主键=i.主键
for insert,update
as
if update(ifupdate) or updatedate(updatedate)
return
update a set ifupdate=1,updatedate=getdate()
from bill a, inserted i
where a.主键=i.主键
for insert
as
begin
update Table_name set ifupdate=1,updatedate=getdate()
where Table_name.PK_id=PK_idend
更新时的,没经过测试。
update a set ifupdated=1,upddate=getdate()
from trade a, inserted i,deleted d where a.td_id=i.td_id
and i.td_id=d.td_id
and i.maker<>d.maker
有没有其他的解决方案啊,请教各位大虾!!!
CREATE TRIGGER TRI_TEST ON [数据表]
FOR UPDATE
AS
IF UPDATE([字段])
BEGIN
DECLARE @INSERT CHAR(10) --新数据
DECLARE @DELETE CHAR(10) --原来的数据
DECLARE CUR_INSERT CURSOR
FOR SELECT 名称 FROM INSERTED
OPEN CUR_INSERT
FETCH NEXT FROM CUR_INSERT INTO @INSERT
CLOSE CUR_INSERT
DEALLOCATE CUR_INSERT
DECLARE CUR_DELETE CURSOR
FOR SELECT 名称 FROM DELETED
OPEN CUR_DELETE
FETCH NEXT FROM CUR_DELETE INTO @DELETE
CLOSE CUR_DELETE
DEALLOCATE CUR_DELETE
IF @INSERT <>@DELETE --比较是否有更新
-------------
--所要的操作--
-------------
END
GO