dbo.ADS_TUADSContact
Database TriggerSQL_TRIGGERSandbox DB
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
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
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