dbo.QER_TDPerson
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-HelperHeadPerson / QER_ZHelperHeadPerson at line 5
- Single DBQueue insert -> QBM-K-CommonReCalculate / QBM_ZRecalculate at line 5
- Single DBQueue insert -> QBM-K-CommonReCalculate / QBM_ZRecalculate at line 9
- References QBM_PDBQueueInsert_Single
- References QBM_PDBQueueInsert_Bulk
- Trigger parent table: Person
Typed Edges
- queues DBQueue task QER_ZHelperHeadPerson at line 5 Bulk DBQueue insert -> QER-K-HelperHeadPerson / QER_ZHelperHeadPerson at line 5
- queues DBQueue task QBM_ZRecalculate at line 5 Single DBQueue insert -> QBM-K-CommonReCalculate / QBM_ZRecalculate at line 5
- queues DBQueue task QBM_ZRecalculate at line 9 Single DBQueue insert -> QBM-K-CommonReCalculate / QBM_ZRecalculate at line 9
- trigger on table Person Trigger parent table: Person
- references source dbo.QBM_FGISessionContext source text reference
- references source dbo.QBM_PDBQueueInsert_Bulk source text reference
- references source dbo.QBM_PDBQueueInsert_Single source text reference
- references source dbo.QBM_PSessionErrorAdd source text reference
Complete Source
1CREATE trigger QER_TDPerson2 ON Person FOR3DELETE NOT FOR Replication4AS5BEGIN6 BEGIN TRY7 IF EXISTS(8 SELECT TOP 1 19 FROM deleted)10 GOTO start11 RETURN start:12 DECLARE @GenProcID varchar(38)13 SELECT @GenProcID = dbo.QBM_FGISessionContext('')14 DECLARE @DBQueueElements_01 QBM_YDBQueueRaw15 INSERT INTO @DBQueueElements_01(object,16 subobject,17 genprocid)18 SELECT19 x.uid,20 NULL,21 @GenProcID22 FROM(23 SELECT uid_personHead AS uid24 FROM deleted25 WHERE26 uid_personHead > ' '27 UNION28 SELECT us.UID_PersonReceiver AS uid29 FROM deleted d30 JOIN QERUniversalSubstitute us31 ON d.UID_PersonHead = us.UID_PersonSender32 WHERE33 d.UID_PersonHead > ' ' AND us.IsCurrentlyActive = 1 AND us.UseForHeadPerson = 1) AS x34 EXEC QBM_PDBQueueInsert_Bulk 'QER-K-HelperHeadPerson',35 @DBQueueElements_0136 IF EXISTS(37 SELECT TOP 1 138 FROM deleted d39 JOIN delegation dl40 ON d.uid_Person = dl.UID_PersonReceiver OR d.UID_person = dl.UID_PersonSender41 JOIN PersonWantsOrg pwo42 ON dl.UID_PersonWantsOrg = pwo.UID_PersonWantsOrg43 WHERE44 pwo.OrderState IN('Assigned', 'Granted', 'New', 'OrderProduct', 'OrderProlongate', 'OrderUnsubscribe',45 'Waiting'))46 BEGIN47 RAISERROR('#LDS#Cannot delete person, because active delegation(s) are existing.|',48 18,49 3)50 WITH nowait51 END52 DELETE delegation53 WHERE54 UID_PersonReceiver IN(55 SELECT uid_person56 FROM deleted)57 DELETE delegation58 WHERE59 UID_PersonSender IN(60 SELECT uid_person61 FROM deleted)62 EXEC QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate',63 'QER-K-ITShopRepairClosed',64 '',65 @GenProcID66 END TRY67 BEGIN CATCH68 EXEC QBM_PSessionErrorAdd DEFAULT69 RAISERROR('',70 18,71 1)72 WITH NOWAIT73 END CATCH74 ende:75 RETURN76END
Open raw exported source
1create trigger QER_TDPerson on Person for delete not for Replication as begin BEGIN TRY if exists (select top 1 1 from deleted) goto start return2 start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_013 (object, subobject, genprocid) select x.uid, null, @GenProcID from ( select uid_personHead as uid from deleted where uid_personHead > ' ' union select4 us.UID_PersonReceiver as uid from deleted d join QERUniversalSubstitute us on d.UID_PersonHead = us.UID_PersonSender where d.UID_PersonHead > ' ' and 5us.IsCurrentlyActive = 1 and us.UseForHeadPerson = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'QER-K-HelperHeadPerson', @DBQueueElements_01 if exists (select6 top 1 1 from deleted d join delegation dl on d.uid_Person = dl.UID_PersonReceiver or d.UID_person = dl.UID_PersonSender join PersonWantsOrg pwo on dl.UID_PersonWantsOrg7 = pwo.UID_PersonWantsOrg where pwo.OrderState in ('Assigned', 'Granted', 'New', 'OrderProduct', 'OrderProlongate', 'OrderUnsubscribe', 'Waiting') )8 begin raiserror( '#LDS#Cannot delete person, because active delegation(s) are existing.|', 18, 3) with nowait end delete delegation where UID_PersonReceiver9 in (select uid_person from deleted ) delete delegation where UID_PersonSender in (select uid_person from deleted ) exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate'10, 'QER-K-ITShopRepairClosed', '', @GenProcID END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return11 end 12