18

UPSERTを実行するか、存在する場合は更新し、存在しない場合は挿入するクエリがあります。

update MyTable 
set [Name]=@NewValue 
where ID=@ID

If @@RowCount = 0 
insert into MyTable([Name])
values(@Name)

さて、@@RowCountトリガーで実行されたクエリの影響を受けるのでしょうか?私のトリガーで私が持っているとしましょう:

insert into MyLogs(Description) 
values("Some description...")

最初のクエリで更新が成功した場合、トリガーは行に影響を与えるMyLogsへの挿入を実行します。

4

1 に答える 1

17

@@ROWCOUNTは現在の実行のスコープに関連付けられているため、別のスコープで実行されるトリガーの影響を受けません。

于 2011-08-10T02:43:46.247 に答える