挿入されたテーブルには常に挿入または更新のレコードが含まれ、削除されたテーブルには常に更新のレコードが含まれるという前提でTSQLトリガーを使用しています(削除は無視しています)。
関連するMSDNの記事は次のとおりです。
http://msdn.microsoft.com/en-us/library/ms191300.aspx
ただし、挿入と削除の両方が空である状況に遭遇しました。これが私が使用しているテストトリガーです。
CREATE TRIGGER [dbo].[InsertUpdateTest] ON [dbo].[Test]
AFTER INSERT, UPDATE
AS
DECLARE @countInserted INT
DECLARE @countDelete INT
SET @countInsert = (SELECT COUNT(*) FROM INSERTED)
SET @countDeleted = (SELECT COUNT(*) FROM DELETED)
IF (@countInserted = 0 AND @countDelete = 0)
BEGIN
print 'Inserted and deleted are both empty'
END
これはどのような条件下で発生しますか?