dbo.ADS_TIADSGroupInADSGroup
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-ADSGroupInADSGroup / ADS_ZGroupInADSGroup at line 9
- References QBM_PDBQueueInsert_Bulk
- Trigger parent table: ADSGroupInADSGroup
Typed Edges
- queues DBQueue task ADS_ZGroupInADSGroup at line 9 Bulk DBQueue insert -> ADS-K-ADSGroupInADSGroup / ADS_ZGroupInADSGroup at line 9
- trigger on table ADSGroupInADSGroup Trigger parent table: ADSGroupInADSGroup
- 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
- references source dbo.ADS_TIAdsGroup source text reference
References
Referenced By
- No direct source references extracted.
Complete Source
1CREATE trigger ADS_TIADSGroupInADSGroup2 ON ADSGroupInADSGroup FOR3INSERT NOT FOR Replication4AS5BEGIN6 IF EXISTS(7 SELECT TOP 1 18 FROM inserted)9 GOTO start10 RETURN start:11 BEGIN TRY12 DECLARE @GenProcID varchar(38) = dbo.QBM_FGISessionContext('')13 IF EXISTS(14 SELECT TOP 1 115 FROM inserted i16 JOIN ADSGroup g17 ON i.UID_ADSGroupParent = g.UID_ADSGroup AND 1 = g.HasReadOnlyMemberships AND dbo.QBM_FGISessionContext('Fullsync') = '')18 BEGIN19 RAISERROR('#LDS#Cannot add {0} because assignment to groups with read only memberships are not permitted.|ADSGroupInADSGroup|',20 18,21 2)22 WITH nowait23 END24 DECLARE @DBQueueElements_01 QBM_YDBQueueRaw25 INSERT INTO @DBQueueElements_01(object,26 subobject,27 genprocid)28 SELECT29 x.uid,30 NULL,31 @GenProcID32 FROM(33 SELECT uid_ADSGroupParent AS uid34 FROM inserted35 UNION36 SELECT UID_ADSGroupChild37 FROM inserted38 UNION39 SELECT co.uid_ADSGroupParent AS uid40 FROM inserted i41 JOIN ADSGroupcollection co42 ON i.UID_ADSGroupChild = co.UID_ADSGroupChild43 UNION44 SELECT co.uid_ADSGroupParent45 FROM inserted i46 JOIN ADSGroupcollection co47 ON i.UID_ADSGroupParent = co.UID_ADSGroupChild48 UNION49 SELECT co.UID_ADSGroupChild50 FROM inserted i51 JOIN ADSGroupcollection co52 ON i.UID_ADSGroupChild = co.UID_ADSGroupParent53 UNION54 SELECT co.UID_ADSGroupChild55 FROM inserted i56 JOIN ADSGroupcollection co57 ON i.UID_ADSGroupParent = co.UID_ADSGroupParent) AS x58 EXEC QBM_PDBQueueInsert_Bulk 'ADS-K-ADSGroupInADSGroup',59 @DBQueueElements_0160 END TRY61 BEGIN CATCH62 EXEC QBM_PSessionErrorAdd DEFAULT63 RAISERROR('',64 18,65 1)66 WITH NOWAIT67 END CATCH68 ende:69 RETURN70END
Open raw exported source
1 create trigger ADS_TIADSGroupInADSGroup on ADSGroupInADSGroup for Insert not for Replication as begin if exists (select top 1 1 from inserted2) goto start return start: BEGIN TRY declare @GenProcID varchar(38) = dbo.QBM_FGISessionContext('') if exists (select top 1 1 from inserted i join ADSGroup3 g on i.UID_ADSGroupParent = g.UID_ADSGroup and 1 = g.HasReadOnlyMemberships and dbo.QBM_FGISessionContext ('Fullsync') = '' ) begin raiserror( '#LDS#Cannot add {0} because assignment to groups with read only memberships are not permitted.|ADSGroupInADSGroup|'4, 18, 2) with nowait end declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null,5 @GenProcID from ( select uid_ADSGroupParent as uid from inserted union select UID_ADSGroupChild from inserted union select co.uid_ADSGroupParent as uid6 from inserted i join ADSGroupcollection co on i.UID_ADSGroupChild = co.UID_ADSGroupChild union select co.uid_ADSGroupParent from inserted i join ADSGroupcollection7 co on i.UID_ADSGroupParent = co.UID_ADSGroupChild union select co.UID_ADSGroupChild from inserted i join ADSGroupcollection co on i.UID_ADSGroupChild8 = co.UID_ADSGroupParent union select co.UID_ADSGroupChild from inserted i join ADSGroupcollection co on i.UID_ADSGroupParent = co.UID_ADSGroupParent 9) as x exec QBM_PDBQueueInsert_Bulk 'ADS-K-ADSGroupInADSGroup', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR (''10, 18, 1) WITH NOWAIT END CATCH ende: return end 11