Advertisement
Guest User

Untitled

a guest
Sep 20th, 2017
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 1.24 KB | None | 0 0
  1. ALTER TRIGGER [dbo].[AuditInsertUpdateTaskStepMaterialResult]
  2.    ON  [dbo].[TaskStepMaterialResult]
  3.    AFTER INSERT,UPDATE
  4. AS
  5. BEGIN
  6.     SET NOCOUNT ON;
  7.    
  8.     DECLARE @Action as char(1)
  9.     DECLARE @Count as int
  10.     SET @Action = 'I' -- Set Action to 'I'nsert by default.
  11.     SELECT @Count = COUNT(*) FROM DELETED
  12.     if @Count > 0
  13.     BEGIN
  14.         SELECT @Count = COUNT(*) FROM INSERTED
  15.         IF @Count > 0
  16.             SET @Action = 'U' -- Set Action to 'U'pdated.
  17.     END
  18.  
  19.  
  20.     Insert Audit_TaskStepMaterialResult(
  21.     [ObjectId]
  22.    ,[Action]
  23.    ,[HostName]
  24.    ,[AppName]
  25.    ,[DBUser]
  26.    ,[AppUserId]
  27.    ,TaskResultId
  28.    ,TaskStepId
  29.    ,[StepQty]
  30.    ,[OccurrenceNumber]
  31.    ,StatusId
  32.     )
  33.     select
  34.     Inserted.TaskStepResultId,
  35.     CASE WHEN exists(select * from deleted) THEN 'Update' ELSE 'Insert' END,
  36.     Host_Name(),
  37.     App_Name(),
  38.     SYSTEM_USER,
  39.     Inserted.AppUserId,
  40.     Inserted.TaskResultId,
  41.     Inserted.TaskStepId,
  42.     Inserted.StepQty,
  43.     Inserted.OccurrenceNumber,
  44.     Inserted.StatusId
  45.     from Inserted
  46.        
  47.     update TaskStepMaterialResult set AppUserId = null
  48.       where TaskStepResultId in (select TaskStepResultId from Inserted)
  49.    
  50.     if @Action = 'U'
  51.         update TaskStepMaterialResult set HasChanges = HasChanges+1
  52.             where TaskStepResultId in (select TaskStepResultId from Inserted)
  53.  
  54. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement