dbo.ADS_TUADSMachine
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-ADSMachineInADSGroup / ADS_ZADSMachineInADSGroup at line 7
- Bulk DBQueue insert -> ADS-K-ADSMachineInADSGroup / ADS_ZADSMachineInADSGroup at line 7
- Bulk DBQueue insert -> ADS-K-ADSMachineInADSGroup / ADS_ZADSMachineInADSGroup at line 24
- References QBM_PDBQueueInsert_Bulk
- Trigger parent table: ADSMachine
Typed Edges
- queues DBQueue task ADS_ZADSMachineInADSGroup at line 7 Bulk DBQueue insert -> ADS-K-ADSMachineInADSGroup / ADS_ZADSMachineInADSGroup at line 7
- queues DBQueue task ADS_ZADSMachineInADSGroup at line 24 Bulk DBQueue insert -> ADS-K-ADSMachineInADSGroup / ADS_ZADSMachineInADSGroup at line 24
- trigger on table ADSMachine Trigger parent table: ADSMachine
- references source dbo.QBM_FCVElementToObjectKey1 source text reference
- references source dbo.QBM_FGIBitPatternXOrigin 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_TUADSMachine2 ON ADSMachine FOR3UPDATE NOT FOR Replication4AS5BEGIN6 DECLARE @QBM_BitPatternXOrigin_Direct int = dbo.QBM_FGIBitPatternXOrigin('|Direct|',7 0)8 DECLARE @QBM_BitPatternXOrigin_Direct_inv int = dbo.QBM_FGIBitPatternXOrigin('|Direct|',9 1)10 DECLARE @XUser nvarchar(64) = object_name(@@procid)11 DECLARE @Xdate datetime = getutcdate()12 BEGIN TRY13 IF EXISTS(14 SELECT TOP 1 115 FROM inserted)16 GOTO start17 IF EXISTS(18 SELECT TOP 1 119 FROM deleted)20 GOTO start21 RETURN start:22 DECLARE @GenProcID varchar(38)23 SELECT @GenProcID = dbo.QBM_FGISessionContext('')24 IF25 UPDATE(UID_ADSGroupPrimary)26 BEGIN27 DECLARE @DBQueueElements_01 QBM_YDBQueueRaw28 INSERT INTO @DBQueueElements_01(object,29 subobject,30 genprocid)31 SELECT32 x.uid,33 NULL,34 @GenProcID35 FROM(36 SELECT a.UID_ADSMachine AS uid37 FROM ADSMachine a38 JOIN deleted d39 ON a.UID_ADSMachine = d.UID_ADSMachine40 WHERE41 isnull(d.UID_ADSGroupPrimary, '') <> isnull(a.UID_ADSGroupPrimary, '')) AS x42 EXEC QBM_PDBQueueInsert_Bulk 'ADS-K-ADSMachineInADSGroup',43 @DBQueueElements_0144 IF EXISTS(45 SELECT TOP 1 146 FROM deleted d47 JOIN ADSMachine a48 ON d.UID_ADSMachine = a.UID_ADSMachine49 WHERE50 isnull(d.UID_aDSGroupPrimary, '') <> isnull(a.UID_ADSGroupPrimary, ''))51 BEGIN52 IF dbo.QBM_FGISessionContext('Fullsync') = ''53 BEGIN54 UPDATE ADSMachineInADSGroup55 SET XOrigin = aig.XOrigin | @QBM_BitPatternXOrigin_Direct,56 XIsInEffect = 1,57 XDateUpdated = @Xdate,58 XUserUpdated = @XUser59 FROM deleted d60 JOIN ADSMachineInADSGroup aig61 ON d.UID_ADSMachine = aig.UID_ADSMachine AND d.UID_ADSGroupPrimary = aig.UID_ADSGroup62 WHERE63 aig.XIsInEffect = 064 END65 ELSE66 BEGIN67 UPDATE ADSMachineInADSGroup68 SET XOrigin = aig.XOrigin & @QBM_BitPatternXOrigin_Direct_inv,69 XDateUpdated = @Xdate,70 XUserUpdated = @XUser71 FROM deleted d72 JOIN ADSMachineInADSGroup aig73 ON d.UID_ADSMachine = aig.UID_ADSMachine AND d.UID_ADSGroupPrimary = aig.UID_ADSGroup74 WHERE75 aig.XIsInEffect = 0 AND aig.XOrigin & @QBM_BitPatternXOrigin_Direct > 076 END77 END78 END79 IF80 UPDATE(ObjectSID)81 BEGIN82 IF EXISTS(83 SELECT TOP 1 184 FROM ADSMachine x85 JOIN deleted d86 ON x.uid_ADSMachine= d.uid_ADSMachine87 WHERE88 isnull(d.ObjectSID, N '') <> isnull(x.ObjectSID, N ''))89 BEGIN90 INSERT INTO ADSOtherSID(UID_ADSOtherSID,91 ObjectSID,92 DistinguishedName,93 canonicalName,94 Ident_ADSOtherSID,95 XDateInserted,96 XDateUpdated,97 XUserInserted,98 XUserUpdated,99 XObjectKey)100 SELECT101 x.UID_ADSOtherSID,102 x.ObjectSID,103 x.DistinguishedName,104 x.canonicalName,105 x.Ident_ADSOtherSID,106 x.XDateInserted,107 x.XDateUpdated,108 x.XUserInserted,109 x.XUserUpdated,110 dbo.QBM_FCVElementToObjectKey1('ADSOtherSID',111 'UID_ADSOtherSID',112 x.UID_ADSOtherSID)113 FROM(114 SELECT115 newid() AS UID_ADSOtherSID,116 d.ObjectSID,117 d.DistinguishedName,118 d.canonicalName,119 d.cn AS Ident_ADSOtherSID,120 d.XDateInserted,121 d.XDateUpdated,122 d.XUserInserted,123 d.XUserUpdated124 FROM ADSMachine x125 JOIN deleted d126 ON x.uid_ADSMachine= d.uid_ADSMachine127 WHERE128 d.ObjectSID > ' ' AND isnull(d.ObjectSID, N '') <> isnull(x.ObjectSID, N '') AND NOT EXISTS(129 SELECT TOP 1 1130 FROM ADSOtherSID x131 WHERE132 x.ObjectSID = d.ObjectSID)) AS x133 END134 IF EXISTS(135 SELECT TOP 1 1136 FROM ADSOtherSID a137 JOIN inserted d138 ON a.ObjectSID = d.ObjectSID)139 BEGIN140 DELETE ADSOtherSID141 WHERE142 objectSID IN(143 SELECT x.ObjectSID144 FROM ADSMachine x145 JOIN deleted d146 ON x.uid_ADSMachine = d.uid_ADSMachine147 WHERE148 isnull(x.ObjectSID, N '') <> isnull(d.ObjectSID, N '')) AND UID_ADSOtherSID NOT LIKE 'ADS-%'149 END150 END151 IF152 UPDATE(UID_Hardware)153 BEGIN154 DECLARE @DBQueueElements_02 QBM_YDBQueueRaw155 INSERT INTO @DBQueueElements_02(object,156 subobject,157 genprocid)158 SELECT159 x.uid,160 NULL,161 @GenProcID162 FROM(163 SELECT d.UID_ADSMachine AS uid164 FROM deleted d165 JOIN ADSMachine m166 ON d.UID_ADSMachine = m.UID_ADSMachine167 WHERE168 isnull(d.UID_Hardware, '') <> isnull(m.UID_Hardware, '')) AS x169 EXEC QBM_PDBQueueInsert_Bulk 'ADS-K-ADSMachineInADSGroup',170 @DBQueueElements_02171 END172 END TRY173 BEGIN CATCH174 EXEC QBM_PSessionErrorAdd DEFAULT175 RAISERROR('',176 18,177 1)178 WITH NOWAIT179 END CATCH180 ende:181 RETURN182END
Open raw exported source
1create trigger ADS_TUADSMachine on ADSMachine for Update not for Replication as begin declare @QBM_BitPatternXOrigin_Direct int = dbo.QBM_FGIBitPatternXOrigin2('|Direct|', 0) declare @QBM_BitPatternXOrigin_Direct_inv int = dbo.QBM_FGIBitPatternXOrigin('|Direct|', 1) declare @XUser nvarchar(64) = object_name3(@@procid) declare @Xdate datetime = getutcdate() BEGIN TRY if exists (select top 1 1 from inserted) goto start if exists (select top 1 1 from deleted)4 goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if update(UID_ADSGroupPrimary) begin declare5 @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select a.UID_ADSMachine6 as uid from ADSMachine a join deleted d on a.UID_ADSMachine = d.UID_ADSMachine where isnull(d.UID_ADSGroupPrimary, '') <> isnull(a.UID_ADSGroupPrimary7, '') ) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSMachineInADSGroup', @DBQueueElements_01 if exists (select top 1 1 from deleted d join ADSMachine a8 on d.UID_ADSMachine = a.UID_ADSMachine where isnull(d.UID_aDSGroupPrimary, '') <> isnull(a.UID_ADSGroupPrimary, '') ) begin if dbo.QBM_FGISessionContext9 ('Fullsync') = '' begin update ADSMachineInADSGroup set XOrigin = aig.XOrigin | @QBM_BitPatternXOrigin_Direct , XIsInEffect = 1 , XDateUpdated = @Xdate10 , XUserUpdated = @XUser from deleted d join ADSMachineInADSGroup aig on d.UID_ADSMachine = aig.UID_ADSMachine and d.UID_ADSGroupPrimary = aig.UID_ADSGroup11 where aig.XIsInEffect = 0 end else begin update ADSMachineInADSGroup set XOrigin = aig.XOrigin & @QBM_BitPatternXOrigin_Direct_inv , XDateUpdated = 12@Xdate , XUserUpdated = @XUser from deleted d join ADSMachineInADSGroup aig on d.UID_ADSMachine = aig.UID_ADSMachine and d.UID_ADSGroupPrimary = aig.UID_ADSGroup13 where aig.XIsInEffect = 0 and aig.XOrigin & @QBM_BitPatternXOrigin_Direct > 0 end end end if update(ObjectSID) begin if exists (select top 1 1 from 14ADSMachine x join deleted d on x.uid_ADSMachine= d.uid_ADSMachine where isnull(d.ObjectSID, N'') <> isnull(x.ObjectSID, N'') ) begin insert into ADSOtherSID15 (UID_ADSOtherSID, ObjectSID , DistinguishedName, canonicalName, Ident_ADSOtherSID , XDateInserted, XDateUpdated, XUserInserted, XUserUpdated, XObjectKey16) select x.UID_ADSOtherSID, x.ObjectSID , x.DistinguishedName, x.canonicalName, x.Ident_ADSOtherSID , x.XDateInserted, x.XDateUpdated, x.XUserInserted,17 x.XUserUpdated, dbo.QBM_FCVElementToObjectKey1('ADSOtherSID', 'UID_ADSOtherSID', x.UID_ADSOtherSID) from ( select newid() as UID_ADSOtherSID, d.ObjectSID18 , d.DistinguishedName, d.canonicalName, d.cn as Ident_ADSOtherSID , d.XDateInserted, d.XDateUpdated, d.XUserInserted, d.XUserUpdated from ADSMachine x19 join deleted d on x.uid_ADSMachine= d.uid_ADSMachine where d.ObjectSID > ' ' and isnull(d.ObjectSID, N'') <> isnull(x.ObjectSID, N'') and not exists (select20 top 1 1 from ADSOtherSID x where x.ObjectSID = d.ObjectSID ) ) as x end if exists (select top 1 1 from ADSOtherSID a join inserted d on a.ObjectSID 21= d.ObjectSID ) begin delete ADSOtherSID where objectSID in (select x.ObjectSID from ADSMachine x join deleted d on x.uid_ADSMachine = d.uid_ADSMachine22 where isnull(x.ObjectSID, N'') <> isnull(d.ObjectSID, N'') ) and UID_ADSOtherSID not like 'ADS-%' end end if update(UID_Hardware) begin declare @DBQueueElements_0223 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select d.UID_ADSMachine as uid from24 deleted d join ADSMachine m on d.UID_ADSMachine = m.UID_ADSMachine where isnull(d.UID_Hardware, '') <> isnull(m.UID_Hardware, '') ) as x exec QBM_PDBQueueInsert_Bulk25 'ADS-K-ADSMachineInADSGroup', @DBQueueElements_02 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH26 ende: return end 27