Sql server 2005 仅触发器修改更新/插入的行
嗨,我有下面的触发器 在[dbo].[tb\U分区]上更改触发器[dbo].[DivisionLastModified] 以EXECUTE作为调用方 对于插入,请更新 像 开始 更新tb\U分区集LastModified=GetDate 结束 这将更新所有行,但我只希望修改更新/添加的行。Sql server 2005 仅触发器修改更新/插入的行,sql-server-2005,Sql Server 2005,嗨,我有下面的触发器 在[dbo].[tb\U分区]上更改触发器[dbo].[DivisionLastModified] 以EXECUTE作为调用方 对于插入,请更新 像 开始 更新tb\U分区集LastModified=GetDate 结束 这将更新所有行,但我只希望修改更新/添加的行。 这是可以实现的吗?这是因为您更新了所有行 UPDATE tb_Division SET LastModified = GetDate() 必须指定上次插入或更新的行id 所以你可以指定,在Where条件下
这是可以实现的吗?这是因为您更新了所有行
UPDATE tb_Division SET LastModified = GetDate()
必须指定上次插入或更新的行id
所以你可以指定,在Where条件下,像这样的事情
UPDATE tb_Division SET LastModified = GetDate() where id=4
要仅对受insert或update影响的行更新LASTMODIFED,需要使用inserted表,该表仅在触发器中可用
ALTER TRIGGER [dbo].[DivisionLastModified]
ON [dbo].[tb_Division]
WITH EXECUTE AS CALLER FOR INSERT, UPDATE AS
BEGIN
UPDATE tb_Division
SET LastModified = GetDate()
WHERE tb_Division.<Primary Key Column Name Here> IN (
SELECT <Primary Key Column Name Here> FROM inserted
)
END
谢谢,现在我需要找到受影响行的标识。