0
SQL 2008R2でデータベースが実行されています。SQLトリガーが呼び出された後、外部サービスが障害を検出します
外部サービスがSVCLogテーブルを更新しています。
特定のメッセージが記録されているときに、別のテーブルの値を更新したいとします。私のトリガが実行されると、サービスはSVC-Logへの挿入が失敗したことを検出し、2回目にデータを挿入しようとします。トリガーが正常に実行されたにもかかわらず。
トリガ・コードは次のとおりです。
ALTER TRIGGER [dbo].[UpdateIndex6] on [dbo].[SVCLog] FOR INSERT AS BEGIN
IF exists (SELECT '*' FROM INSERTED WHERE (INSERTED.LogEntry LIKE '%Work Item % Created'))
Begin
DECLARE @WorkID INT
DECLARE @ProcessID INT
DECLARE @ProcessDescription NVARCHAR(100)
SELECT @WorkID = WorkID from inserted
SELECT @processid = ProcessId from WorkManagement where WorkID = @WorkID
SELECT @ProcessDescription = ProcessDescription from ActiveProcesses where ProcessID = @ProcessID
IF @ProcessDescription like '%Falkland%'
UPDATE WorkManagment SET Index6 = 'Falkland' WHERE WorkID = @WorkID;
IF @ProcessDescription like '%Canada%'
UPDATE WorkManagment SET Index6 = 'Canada' WHERE WorkID = @WorkID;
END
END
GO