表Users的结构:
ID int 自动编号
Name char 20
Sex int
UDate Datetime 现在想编写该表的修改触发器,当更新Name或者Sex(除UDate字段外)字段时,把UDate设置同时更新为当前时间
CREATE TRIGGER UserAutoUpDate ON [dbo].[Users]
FOR UPDATE
AS
Update Users set UDate=GetDate() where ???此处该怎么写?才能完成只更新被修改的记录的UDate字段的值,而且UDate如果被用户修改,该触发器不响应。
谢谢
ID int 自动编号
Name char 20
Sex int
UDate Datetime 现在想编写该表的修改触发器,当更新Name或者Sex(除UDate字段外)字段时,把UDate设置同时更新为当前时间
CREATE TRIGGER UserAutoUpDate ON [dbo].[Users]
FOR UPDATE
AS
Update Users set UDate=GetDate() where ???此处该怎么写?才能完成只更新被修改的记录的UDate字段的值,而且UDate如果被用户修改,该触发器不响应。
谢谢
FOR UPDATE
AS
IF UPDATE (Name) or UPDATE(Sex)
BEGIN
Update Users set UDate=GetDate() where ???
END
补充完整。。
CREATE TRIGGER UserAutoUpDate ON [dbo].[Users]FOR UPDATEASdeclarea @id intselect @id=id from inserted
IF UPDATE (Name) or UPDATE(Sex)
BEGIN
Update Users set UDate=GetDate() where id=@id
END
select @id=id from inserted
Update Users set UDate=GetDate() where id=@id
inserted 表示更新的那条数据。