dbo.QER_PBasetreeOwnsObjectPost_L
Stored ProcedureSQL_STORED_PROCEDURESandbox DB
Interpretation
- Database routine. Review parameters, called procedures, DBQueue inserts, and QBM_PJobCreate helper calls before assuming side effects.
Relations
- No extracted relations.
Typed Edges
- references source dbo.QBM_FCVElementToObjectKey1 source text reference
- references source dbo.QBM_FCVObjectkeyToElement source text reference
- references source dbo.QBM_FCVStringToGUID source text reference
- references source dbo.QBM_FCVStringToGUIDMAll source text reference
- references source dbo.QBM_FGISessionContext source text reference
- references source dbo.QBM_FGISessionErrorRethrow source text reference
- references source dbo.QBM_PSessionContextSet source text reference
- references source dbo.QBM_PSessionErrorAdd source text reference
- references source dbo.QER_PBasetreeOwnsObjectPost source text reference
Complete Source
1CREATE PROCEDURE QER_PBasetreeOwnsObjectPost_L(2 @CountDeltaOrigin int,3 @CountDeltaQantity int,4 @DBQueueCurrent QBM_YDBQueueCurrent READONLY5)6AS7BEGIN8 DECLARE @ElementCount int9 DECLARE @ElementIndex int10 DECLARE @ElementLast int11 DECLARE @GenProcID varchar(38)12 DECLARE @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('')13 DECLARE @GenProcIDErsatz varchar(38)14 SET XACT_ABORT OFF15 BEGIN TRY16 SELECT @GenProcIDErsatz = newid()17 IF @CountDeltaOrigin > 018 BEGIN19 UPDATE #QBMDeltaOrigin20 SET GenProcID = c.GenProcID21 FROM #QBMDeltaOrigin d22 JOIN @DBQueueCurrent c23 ON dbo.QBM_FCVObjectkeyToElement('ColumnValue1',24 d.AssignedElement) = c.UID_Parameter25 UPDATE #QBMDeltaOrigin26 SET GenProcID = @GenProcIDErsatz27 WHERE28 GenProcID IS NULL29 DECLARE @GenProcIDs_CountDeltaOrigin QBM_YCursorBuffer30 INSERT INTO @GenProcIDs_CountDeltaOrigin(UID1)31 SELECT32 DISTINCT de.GenProcID33 FROM #QBMDeltaOrigin de34 SELECT @ElementCount = @@ROWCOUNT35 SELECT @ElementIndex = @@IDENTITY - @ElementCount +136 SELECT @ElementLast = @@IDENTITY37 WHILE @ElementIndex <= @ElementLast38 BEGIN39 SELECT TOP 1 @GenProcID = bu.UID140 FROM @GenProcIDs_CountDeltaOrigin bu41 WHERE42 bu.ElementIndex = @ElementIndex43 EXEC QBM_PSessionContextSet 'GenProcID',44 @GenProcID45 UPDATE BaseTreeOwnsObject46 SET OwnershipInfo = di.XOrigin47 FROM BaseTreeOwnsObject bho48 JOIN #QBMDeltaOrigin di49 ON bho.uid_Org = di.Element AND bho.Objectkey = di.AssignedElement50 WHERE51 di.GenProcID = @GenProcID52 SELECT @ElementIndex += 153 END54 END55 IF @CountDeltaQantity > 056 BEGIN57 UPDATE #QBMDeltaInsert58 SET NewPK = dbo.QBM_FCVStringToGUIDMAll(NULL,59 Element,60 AssignedElement)61 UPDATE #QBMDeltaInsert62 SET GenProcID = c.GenProcID63 FROM #QBMDeltaInsert d64 JOIN @DBQueueCurrent c65 ON dbo.QBM_FCVObjectkeyToElement('ColumnValue1',66 d.AssignedElement) = c.UID_Parameter67 UPDATE #QBMDeltaDelete68 SET GenProcID = c.GenProcID69 FROM #QBMDeltaDelete d70 JOIN @DBQueueCurrent c71 ON dbo.QBM_FCVObjectkeyToElement('ColumnValue1',72 d.AssignedElement) = c.UID_Parameter73 UPDATE #QBMDeltaInsert74 SET GenProcID = @GenProcIDErsatz75 WHERE76 GenProcID IS NULL77 UPDATE #QBMDeltaDelete78 SET GenProcID = @GenProcIDErsatz79 WHERE80 GenProcID IS NULL81 DECLARE @GenProcIDs_CountDeltaQunatity QBM_YCursorBuffer82 INSERT INTO @GenProcIDs_CountDeltaQunatity(UID1)83 SELECT de.GenProcID84 FROM #QBMDeltaDelete de85 UNION86 SELECT de.GenProcID87 FROM #QBMDeltaInsert de88 SELECT @ElementCount = @@ROWCOUNT89 SELECT @ElementIndex = @@IDENTITY - @ElementCount +190 SELECT @ElementLast = @@IDENTITY91 WHILE @ElementIndex <= @ElementLast92 BEGIN93 SELECT TOP 1 @GenProcID = bu.UID194 FROM @GenProcIDs_CountDeltaQunatity bu95 WHERE96 bu.ElementIndex = @ElementIndex97 IF EXISTS(98 SELECT TOP 1 199 FROM #QBMDeltaDelete x100 WHERE101 x.GenProcID = @GenProcID)102 BEGIN103 EXEC QBM_PSessionContextSet 'GenProcID',104 @GenProcID105 DELETE106 FROM BaseTreeOwnsObject107 WHERE108 EXISTS(109 SELECT TOP 1 1110 FROM #QBMDeltaDelete111 WHERE112 Element = BaseTreeOwnsObject.uid_Org AND AssignedElement = BaseTreeOwnsObject.ObjectKey AND GenProcID = @GenProcID)113 END114 IF EXISTS(115 SELECT TOP 1 1116 FROM #QBMDeltaInsert x117 WHERE118 x.GenProcID = @GenProcID)119 BEGIN120 EXEC QBM_PSessionContextSet 'GenProcID',121 @GenProcID122 INSERT INTO BaseTreeOwnsObject(UID_BaseTreeOwnsObject,123 UID_Org,124 ObjectKey,125 XObjectKey,126 OwnerShipInfo)127 SELECT128 di.NewPK,129 di.Element,130 di.AssignedElement,131 dbo.QBM_FCVElementToObjectKey1('BaseTreeOwnsObject',132 'UID_BaseTreeOwnsObject',133 di.NewPK),134 XOrigin135 FROM #QBMDeltaInsert di136 WHERE137 di.GenProcID = @GenProcID138 END139 SELECT @ElementIndex += 1140 END141 END142 END TRY143 BEGIN CATCH144 EXEC QBM_PSessionErrorAdd DEFAULT145 DECLARE @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow()146 RAISERROR(@Rethrow,147 18,148 1)149 WITH NOWAIT150 END CATCH151 ende:152 EXEC QBM_PSessionContextSet 'GenProcID',153 @GenProcID_R154 RETURN155END
Open raw exported source
1 create procedure QER_PBasetreeOwnsObjectPost_L ( @CountDeltaOrigin int , @CountDeltaQantity int , @DBQueueCurrent QBM_YDBQueueCurrent readonly2 ) as begin declare @ElementCount int declare @ElementIndex int declare @ElementLast int declare @GenProcID varchar(38) declare @GenProcID_R varchar(383) = dbo.QBM_FGISessionContext('') declare @GenProcIDErsatz varchar(38) SET XACT_ABORT OFF BEGIN TRY select @GenProcIDErsatz = newid() if @CountDeltaOrigin4 > 0 begin update #QBMDeltaOrigin set GenProcID = c.GenProcID from #QBMDeltaOrigin d join @DBQueueCurrent c on dbo.QBM_FCVObjectkeyToElement('ColumnValue1'5, d.AssignedElement) = c.UID_Parameter update #QBMDeltaOrigin set GenProcID = @GenProcIDErsatz where GenProcID is null declare @GenProcIDs_CountDeltaOrigin6 QBM_YCursorBuffer insert into @GenProcIDs_CountDeltaOrigin (UID1) select distinct de.GenProcID from #QBMDeltaOrigin de select @ElementCount = @@ROWCOUNT7 select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @GenProcID8 = bu.UID1 from @GenProcIDs_CountDeltaOrigin bu where bu.ElementIndex = @ElementIndex exec QBM_PSessionContextSet 'GenProcID', @GenProcID update BaseTreeOwnsObject9 set OwnershipInfo = di.XOrigin from BaseTreeOwnsObject bho join #QBMDeltaOrigin di on bho.uid_Org = di.Element and bho.Objectkey = di.AssignedElement 10where di.GenProcID = @GenProcID select @ElementIndex += 1 end end if @CountDeltaQantity > 0 begin update #QBMDeltaInsert set NewPK = dbo.QBM_FCVStringToGUIDMAll11(null, Element, AssignedElement) update #QBMDeltaInsert set GenProcID = c.GenProcID from #QBMDeltaInsert d join @DBQueueCurrent c on dbo.QBM_FCVObjectkeyToElement12('ColumnValue1', d.AssignedElement) = c.UID_Parameter update #QBMDeltaDelete set GenProcID = c.GenProcID from #QBMDeltaDelete d join @DBQueueCurrent c 13on dbo.QBM_FCVObjectkeyToElement('ColumnValue1', d.AssignedElement) = c.UID_Parameter update #QBMDeltaInsert set GenProcID = @GenProcIDErsatz where GenProcID14 is null update #QBMDeltaDelete set GenProcID = @GenProcIDErsatz where GenProcID is null declare @GenProcIDs_CountDeltaQunatity QBM_YCursorBuffer insert15 into @GenProcIDs_CountDeltaQunatity (UID1) select de.GenProcID from #QBMDeltaDelete de union select de.GenProcID from #QBMDeltaInsert de select @ElementCount16 = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast begin select top17 1 @GenProcID = bu.UID1 from @GenProcIDs_CountDeltaQunatity bu where bu.ElementIndex = @ElementIndex if exists (select top 1 1 from #QBMDeltaDelete x where18 x.GenProcID = @GenProcID ) begin exec QBM_PSessionContextSet 'GenProcID', @GenProcID delete from BaseTreeOwnsObject where exists (select top 1 1 from 19#QBMDeltaDelete where Element = BaseTreeOwnsObject.uid_Org and AssignedElement = BaseTreeOwnsObject.ObjectKey and GenProcID = @GenProcID ) end if exists20 (select top 1 1 from #QBMDeltaInsert x where x.GenProcID = @GenProcID ) begin exec QBM_PSessionContextSet 'GenProcID', @GenProcID insert into BaseTreeOwnsObject21 (UID_BaseTreeOwnsObject, UID_Org ,ObjectKey , XObjectKey, OwnerShipInfo) select di.NewPK, di.Element, di.AssignedElement, dbo.QBM_FCVElementToObjectKey122('BaseTreeOwnsObject', 'UID_BaseTreeOwnsObject', di.NewPK), XOrigin from #QBMDeltaInsert di where di.GenProcID = @GenProcID end select @ElementIndex +=23 1 end end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow24, 18, 1) WITH NOWAIT END CATCH ende: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R return end 25