Back to OIM Explorer

dbo.ADS_TUADSContact

Database TriggerSQL_TRIGGERSandbox DB

Database Trigger on ADSContact. Bulk DBQueue insert -> ADS-K-PersonHasObject / ADS_ZPersonHasObject at line 5; Bulk DBQueue insert -> ADS-K-ADSContactInADSGroup / ADS_ZContactInADSGroup at line 5; Bulk DBQueue insert -> ADS-K-ADSContactInADSGroup / ADS_ZContactInADSGroup at line 11; References QBM_PDBQueueInsert_Bulk

Source: sandbox-db sys.sql_modules

Source size: 1.859 characters

Interpretation

  • Database trigger. Treat parent table and enqueue/object-layer calls as the main relation points.
  • DBQueue relation detected. Follow the task procedure and referenced-by list for async processing.

Relations

  • Bulk DBQueue insert -> ADS-K-PersonHasObject / ADS_ZPersonHasObject at line 5
  • Bulk DBQueue insert -> ADS-K-ADSContactInADSGroup / ADS_ZContactInADSGroup at line 5
  • Bulk DBQueue insert -> ADS-K-ADSContactInADSGroup / ADS_ZContactInADSGroup at line 11
  • References QBM_PDBQueueInsert_Bulk
  • Trigger parent table: ADSContact

Typed Edges

  • queues DBQueue task ADS_ZPersonHasObject at line 5 Bulk DBQueue insert -> ADS-K-PersonHasObject / ADS_ZPersonHasObject at line 5
  • queues DBQueue task ADS_ZContactInADSGroup at line 5 Bulk DBQueue insert -> ADS-K-ADSContactInADSGroup / ADS_ZContactInADSGroup at line 5
  • queues DBQueue task ADS_ZContactInADSGroup at line 11 Bulk DBQueue insert -> ADS-K-ADSContactInADSGroup / ADS_ZContactInADSGroup at line 11
  • trigger on table ADSContact Trigger parent table: ADSContact
  • references source dbo.QBM_FGIBitPatternXMarkedForDel source text reference
  • references source dbo.QBM_FGISessionContext source text reference
  • references source dbo.QBM_PDBQueueInsert_Bulk source text reference
  • references source dbo.QBM_PSessionErrorAdd source text reference

Complete Source

SQL82 lines
1CREATE trigger ADS_TUADSContact2  ON ADSContact FOR3UPDATE NOT FOR Replication4AS5BEGIN6  IF EXISTS(7    SELECT TOP 1 18    FROM inserted)9  GOTO start10  IF EXISTS(11    SELECT TOP 1 112    FROM deleted)13  GOTO start14  RETURN start:15  DECLARE @GenProcID varchar(38)16  DECLARE @QBM_BitPatternXMarkedForDel_OutStanding int = dbo.QBM_FGIBitPatternXMarkedForDel('|OutStanding|',17  0)18  BEGIN TRY19    SELECT @GenProcID = dbo.QBM_FGISessionContext('')20    IF21    UPDATE(UID_Person)22    BEGIN23      DECLARE @DBQueueElements_01 QBM_YDBQueueRaw24      INSERT INTO @DBQueueElements_01(object,25      subobject,26      genprocid)27      SELECT28        x.uid,29        NULL,30        @GenProcID31      FROM(32      SELECT uid_person AS uid33      FROM inserted34      WHERE35        uid_person > ' '36      UNION37      SELECT uid_person38      FROM deleted39      WHERE40        uid_person > ' ') AS x41      EXEC QBM_PDBQueueInsert_Bulk 'ADS-K-PersonHasObject',42        @DBQueueElements_0143    END44    IF45    UPDATE(UID_Person) OR46    UPDATE(IsGroupAccount) OR47    UPDATE(UID_TSBBehavior) OR48    UPDATE(MatchPatternForMembership) OR49    UPDATE(objectclass) OR50    UPDATE(XMarkedForDeletion)51    BEGIN52      DECLARE @DBQueueElements_03 QBM_YDBQueueRaw53      INSERT INTO @DBQueueElements_03(object,54      subobject,55      genprocid)56      SELECT57        x.uid,58        NULL,59        @GenProcID60      FROM(61      SELECT a.UID_ADSContact AS uid62      FROM ADSContact a63      JOIN deleted d64        ON a.UID_ADSContact = d.UID_ADSContact65      WHERE66        isnull(d.UID_Person, '') <> isnull(a.UID_Person, '') OR isnull(d.IsGroupAccount, 0) <> isnull(a.IsGroupAccount,67      0) OR isnull(d.UID_TSBBehavior, '') <> isnull(a.UID_TSBBehavior, '') OR isnull(d.MatchPatternForMembership,68      0) <> isnull(a.MatchPatternForMembership, 0) OR isnull(d.objectclass, '') <> isnull(a.objectclass, '') OR(d.XMarkedForDeletion ^ a.XMarkedForDeletion69      ) & @QBM_BitPatternXMarkedForDel_OutStanding > 0) AS x70      EXEC QBM_PDBQueueInsert_Bulk 'ADS-K-ADSContactInADSGroup',71        @DBQueueElements_0372    END73  END TRY74  BEGIN CATCH75    EXEC QBM_PSessionErrorAdd DEFAULT76    RAISERROR('',77    18,78    1)79      WITH NOWAIT80  END CATCH81  RETURN82END
Open raw exported source
SQL ยท Raw13 lines
1create   trigger ADS_TUADSContact on ADSContact  for Update not for Replication as begin  if exists (select top 1 1 from inserted) goto start if2 exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) declare @QBM_BitPatternXMarkedForDel_OutStanding int = dbo.QBM_FGIBitPatternXMarkedForDel3('|OutStanding|', 0)  BEGIN TRY select @GenProcID = dbo.QBM_FGISessionContext('') if update(UID_Person) begin declare @DBQueueElements_01 QBM_YDBQueueRaw4 insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uid_person as uid from inserted where uid_person5 > ' ' union select uid_person from deleted where uid_person > ' ' ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-PersonHasObject', @DBQueueElements_01   end6 if  update(UID_Person) or update(IsGroupAccount)  or update(UID_TSBBehavior) or update(MatchPatternForMembership)  or update(objectclass)  or update(XMarkedForDeletion7) begin declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid) select x.uid, null, @GenProcID from 8(select a.UID_ADSContact as uid from ADSContact a join deleted d on a.UID_ADSContact = d.UID_ADSContact where   isnull(d.UID_Person,'') <> isnull(a.UID_Person9,'') or isnull(d.IsGroupAccount,0) <> isnull(a.IsGroupAccount,0)  or isnull(d.UID_TSBBehavior,'') <> isnull(a.UID_TSBBehavior,'')  or isnull(d.MatchPatternForMembership10,0) <> isnull(a.MatchPatternForMembership,0)  or isnull(d.objectclass,'') <> isnull(a.objectclass,'')  or (d.XMarkedForDeletion ^ a.XMarkedForDeletion 11) & @QBM_BitPatternXMarkedForDel_OutStanding > 0 ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSContactInADSGroup', @DBQueueElements_03 end END TRY BEGIN12 CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH  return end 13