bluebunny72

ILC_BGTaskHistoryAfterUpdate

Apr 6th, 2019
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 2.09 KB | None | 0 0
  1. IF EXISTS(SELECT TOP 1 1 FROM sys.triggers WHERE name = 'ILC_BGTaskHistoryAfterUpdate')
  2.     DROP TRIGGER [dbo].[ILC_BGTaskHistoryAfterUpdate]
  3. GO
  4.  
  5. SET ANSI_NULLS ON
  6. GO
  7.  
  8. SET QUOTED_IDENTIFIER ON
  9. GO
  10.  
  11. CREATE TRIGGER [dbo].[ILC_BGTaskHistoryAfterUpdate]
  12. ON [dbo].[BGTaskHistory]
  13. AFTER UPDATE
  14. AS
  15.     DECLARE @CompletionStatusBefore AS VARCHAR(100)
  16.     DECLARE @CompletionStatusAfter AS VARCHAR(100)
  17.     DECLARE @AlertSubjectParm1 AS VARCHAR(MAX)
  18.     DECLARE @AlertMsgParm1 AS VARCHAR(MAX)
  19.     DECLARE @Site VARCHAR(8)
  20.  
  21.     SELECT TOP 1 @Site = [site] FROM parms
  22.  
  23.     SELECT @CompletionStatusAfter = ISNULL(CAST(CompletionStatus AS VARCHAR(100)),'EMPTY')
  24.     FROM inserted
  25.  
  26.     IF (@CompletionStatusAfter <> '0')
  27.     BEGIN
  28.         SELECT @CompletionStatusBefore = ISNULL(CAST(CompletionStatus AS VARCHAR(100)),'EMPTY')
  29.         FROM deleted
  30.  
  31.         IF (@CompletionStatusBefore <> @CompletionStatusAfter)
  32.         BEGIN
  33.             SELECT
  34.                  @AlertSubjectParm1 = AlertSubjectParm1
  35.                 ,@AlertMsgParm1 = AlertMsgParm1
  36.             FROM
  37.                 (SELECT
  38.                      @Site + ' Background Task ' + TaskName + ' has failed' AS AlertSubjectParm1
  39.                     ,'Background Task ' + ISNULL(CAST(TaskNumber AS VARCHAR(100)),'') + ' ' + ISNULL(TaskName,'') + ', initiated by user ' + ISNULL(RequestingUser,'') + ' failed at '
  40.                     + ISNULL(CAST(MONTH(CompletionDate) AS VARCHAR(2)) + '-' +  CAST(DAY(CompletionDate) AS VARCHAR(2)) + '-' + CAST(YEAR(CompletionDate) AS VARCHAR(4)) + ' ' + CAST(DATEPART(hh,CompletionDate) AS VARCHAR(2)) + ':' +  CAST(DATEPART(MINUTE,CompletionDate) AS VARCHAR(2)),'')
  41.                     + ', with a Completion Status of ' + ISNULL(CAST(CompletionStatus AS VARCHAR(100)),'') + ' and the error message:  ' +  CHAR(13) + CHAR(10) + CHAR(13) + CHAR(10) + ISNULL(TaskErrorMsg,'') AS AlertMsgParm1
  42.                 FROM inserted) NotifyPublicationSubscriber
  43.    
  44.             EXEC NotifyPublicationSubscribersSp 'ILC_BackgroundTaskFailure','D=Text0','E=Msg','','',@AlertSubjectParm1,'','','','','','','','','','','','','','',@AlertMsgParm1,'','','','','','','','','','','','','',''
  45.         END
  46.     END
  47. GO
  48.  
  49. EXEC sp_settriggerorder @triggername=N'[dbo].[ILC_BGTaskHistoryAfterUpdate]', @ORDER=N'Last', @stmttype=N'UPDATE'
Add Comment
Please, Sign In to add comment