dbo.QER_TUOrgRoot
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 -> QER-K-OrgROOT / QER_ZOrgRoot at line 12
- References QBM_PDBQueueInsert_Bulk
- Trigger parent table: OrgRoot
Typed Edges
- queues DBQueue task QER_ZOrgRoot at line 12 bulk DBQueue insert -> QER-K-OrgROOT / QER_ZOrgRoot at line 12
- trigger on table OrgRoot Trigger parent table: OrgRoot
- 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
Referenced By
Complete Source
1CREATE trigger QER_TUOrgRoot2 ON OrgRoot FOR3UPDATE NOT FOR Replication4AS5BEGIN6 BEGIN TRY7 IF EXISTS(8 SELECT TOP 1 19 FROM inserted)10 GOTO start11 IF EXISTS(12 SELECT TOP 1 113 FROM deleted)14 GOTO start15 RETURN start:16 DECLARE @GenProcID varchar(38)17 SELECT @GenProcID = dbo.QBM_FGISessionContext('')18 IF EXISTS(19 SELECT TOP 1 120 FROM OrgRoot r21 JOIN deleted d22 ON r.UID_OrgRoot = d.UID_OrgRoot23 WHERE24 d.IsTopDown <> r.IsTopDown AND d.UID_OrgRoot LIKE '___-V-%')25 BEGIN26 RAISERROR('#LDS#Direction of inheritance cannot be changed, because it''s a default role.|',27 18,28 2)29 WITH nowait30 END31 IF32 UPDATE(IsPersonAssignOnce)33 BEGIN34 IF EXISTS(35 SELECT TOP 1 136 FROM OrgRoot r37 JOIN deleted d38 ON r.UID_OrgRoot = d.UID_OrgRoot39 WHERE40 r.IsPersonAssignOnce = 1 AND d.UID_OrgRoot LIKE '___-V-%')41 BEGIN42 RAISERROR('#LDS#IsPersonAssignOnce cannot be set, because it''s a default role.|',43 18,44 2)45 WITH nowait46 END47 END48 IF49 UPDATE(IsPersonAssignOnce)50 BEGIN51 IF EXISTS(52 SELECT TOP 1 153 FROM OrgRoot r54 JOIN deleted d55 ON r.UID_OrgRoot = d.UID_OrgRoot56 WHERE57 r.IsPersonAssignOnce = 1 AND EXISTS(58 SELECT TOP 1 159 FROM PersonInBaseTree pib60 JOIN BaseTree b61 ON pib.UID_Org = b.UID_Org AND b.UID_OrgRoot = r.UID_OrgRoot62 GROUP BY pib.UID_Person63 HAVING count(*) > 1))64 BEGIN65 RAISERROR('#LDS#IsPersonAssignOnce cannot be set, because at least one person is assigned more than once.|',66 18,67 2)68 WITH nowait69 END70 END71 DECLARE @DBQueueElements_01 QBM_YDBQueueRaw72 INSERT INTO @DBQueueElements_01(object,73 subobject,74 genprocid)75 SELECT76 x.uid,77 NULL,78 @GenProcID79 FROM(80 SELECT r.UID_OrgRoot AS uid81 FROM OrgRoot r82 JOIN deleted d83 ON r.UID_OrgRoot = d.UID_OrgRoot84 WHERE85 d.IsTopDown <> r.IsTopDown AND d.UID_OrgRoot NOT LIKE '___-V-%') AS x86 EXEC QBM_PDBQueueInsert_bulk 'QER-K-OrgROOT',87 @DBQueueElements_0188 END TRY89 BEGIN CATCH90 EXEC QBM_PSessionErrorAdd DEFAULT91 RAISERROR('',92 18,93 1)94 WITH NOWAIT95 END CATCH96 ende:97 RETURN98END
Open raw exported source
1create trigger QER_TUOrgRoot on OrgRoot for UPDATE not for Replication as begin BEGIN TRY if exists (select top 1 1 from inserted) goto start2 if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if exists3 (select top 1 1 from OrgRoot r join deleted d on r.UID_OrgRoot = d.UID_OrgRoot where d.IsTopDown <> r.IsTopDown and d.UID_OrgRoot like '___-V-%' ) begin4 raiserror( '#LDS#Direction of inheritance cannot be changed, because it''s a default role.|', 18, 2) with nowait end if update (IsPersonAssignOnce) begin5 if exists (select top 1 1 from OrgRoot r join deleted d on r.UID_OrgRoot = d.UID_OrgRoot where r.IsPersonAssignOnce = 1 and d.UID_OrgRoot like '___-V-%'6 ) begin raiserror( '#LDS#IsPersonAssignOnce cannot be set, because it''s a default role.|', 18, 2) with nowait end end if update (IsPersonAssignOnce) 7begin if exists (select top 1 1 from OrgRoot r join deleted d on r.UID_OrgRoot = d.UID_OrgRoot where r.IsPersonAssignOnce = 1 and exists (select top 1 81 from PersonInBaseTree pib join BaseTree b on pib.UID_Org = b.UID_Org and b.UID_OrgRoot = r.UID_OrgRoot group by pib.UID_Person having count(*) > 1 ) 9) begin raiserror( '#LDS#IsPersonAssignOnce cannot be set, because at least one person is assigned more than once.|', 18, 2) with nowait end end declare10 @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select r.UID_OrgRoot11 as uid from OrgRoot r join deleted d on r.UID_OrgRoot = d.UID_OrgRoot where d.IsTopDown <> r.IsTopDown and d.UID_OrgRoot not like '___-V-%' ) as x exec12 QBM_PDBQueueInsert_bulk 'QER-K-OrgROOT', @DBQueueElements_01 END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END13 CATCH ende: return end 14