0

「挿入の代わりに、更新」トリガーをテーブル内の「UPDATE」Aレコードと、 1回の呼び出しで「INSERTING」Bレコードの両方に呼び出すことができるかどうかを知りたいですか?

実際、SQL Serverが、レコードを更新および挿入するために前述のトリガーを一度に呼び出すことができるかどうかを知りたいだけです。または、一部のレコードを更新するために1回、他のレコードを挿入するために1回トリガーを呼び出すだけですか?

たとえば、次のように考えてください。

ALTER TRIGGER [dbo].[MyTable_DoWhatever] 
   ON  [dbo].[MyTable] 
   INSTEAD OF INSERT, UPDATE
AS 
BEGIN
    SET NOCOUNT ON;

    DECLARE @Updating BIT = 0;
    IF EXISTS(SELECT * FROM INSERTED i INNER JOIN DELETED d ON i.Id = d.Id) SET @Updating = 1

END

上記の@Updatingフラグは、トリガーが「INSTEADOFINSERTED」または「INSTEADOFUPDATE」のどちらで呼び出されるかを判別するために有効ですか?

ありがとう。

4

0 に答える 0