Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 仅触发器修改更新/插入的行_Sql Server 2005 - Fatal编程技术网

Sql server 2005 仅触发器修改更新/插入的行

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条件下

嗨,我有下面的触发器

在[dbo].[tb\U分区]上更改触发器[dbo].[DivisionLastModified] 以EXECUTE作为调用方 对于插入,请更新 像 开始 更新tb\U分区集LastModified=GetDate 结束

这将更新所有行,但我只希望修改更新/添加的行。
这是可以实现的吗?

这是因为您更新了所有行

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

谢谢,现在我需要找到受影响行的标识。