dbo.QER_PBasetreeHasObjectPostProc
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_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
Complete Source
1CREATE PROCEDURE QER_PBasetreeHasObjectPostProc(2 @CountDeltaOrigin int,3 @CountDeltaQantity int4)5AS6BEGIN7 DECLARE @ElementCount int8 DECLARE @ElementIndex int9 DECLARE @ElementLast int10 DECLARE @GenProcID varchar(38)11 DECLARE @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('')12 SET XACT_ABORT OFF13 BEGIN TRY14 IF @CountDeltaOrigin > 015 BEGIN16 DECLARE @GenProcIDs_CountDeltaOrigin QBM_YCursorBuffer17 INSERT INTO @GenProcIDs_CountDeltaOrigin(UID1)18 SELECT19 DISTINCT de.GenProcID20 FROM #QBMDeltaOrigin de21 SELECT @ElementCount = @@ROWCOUNT22 SELECT @ElementIndex = @@IDENTITY - @ElementCount +123 SELECT @ElementLast = @@IDENTITY24 WHILE @ElementIndex <= @ElementLast25 BEGIN26 SELECT TOP 1 @GenProcID = bu.UID127 FROM @GenProcIDs_CountDeltaOrigin bu28 WHERE29 bu.ElementIndex = @ElementIndex30 EXEC QBM_PSessionContextSet 'GenProcID',31 @GenProcID32 UPDATE BaseTreeHasObject33 SET InheritInfo = di.XOrigin34 FROM BaseTreeHasObject bho35 JOIN #QBMDeltaOrigin di36 ON bho.uid_Org = di.Element AND bho.Objectkey = di.AssignedElement37 WHERE38 di.GenProcID = @GenProcID39 SELECT @ElementIndex += 140 END41 END42 IF @CountDeltaQantity > 043 BEGIN44 UPDATE #QBMDeltaInsert45 SET NewPK = dbo.QBM_FCVStringToGUIDMAll(NULL,46 Element,47 AssignedElement)48 DECLARE @GenProcIDs_CountDeltaQuantity QBM_YCursorBuffer49 INSERT INTO @GenProcIDs_CountDeltaQuantity(UID1)50 SELECT de.GenProcID51 FROM #QBMDeltaDelete de52 UNION53 SELECT de.GenProcID54 FROM #QBMDeltaInsert de55 SELECT @ElementCount = @@ROWCOUNT56 SELECT @ElementIndex = @@IDENTITY - @ElementCount +157 SELECT @ElementLast = @@IDENTITY58 WHILE @ElementIndex <= @ElementLast59 BEGIN60 SELECT TOP 1 @GenProcID = bu.UID161 FROM @GenProcIDs_CountDeltaQuantity bu62 WHERE63 bu.ElementIndex = @ElementIndex64 IF EXISTS(65 SELECT TOP 1 166 FROM #QBMDeltaDelete x67 WHERE68 x.GenProcID = @GenProcID)69 BEGIN70 EXEC QBM_PSessionContextSet 'GenProcID',71 @GenProcID72 DELETE73 FROM BaseTreeHasObject74 WHERE75 EXISTS(76 SELECT TOP 1 177 FROM #QBMDeltaDelete78 WHERE79 Element = BaseTreeHasObject.uid_Org AND AssignedElement = BaseTreeHasObject.ObjectKey AND GenProcID = @GenProcID)80 END81 IF EXISTS(82 SELECT TOP 1 183 FROM #QBMDeltaInsert x84 WHERE85 x.GenProcID = @GenProcID)86 BEGIN87 EXEC QBM_PSessionContextSet 'GenProcID',88 @GenProcID89 INSERT INTO BaseTreeHasObject(UID_BaseTreeHasObject,90 UID_Org,91 ObjectKey,92 XObjectKey,93 InheritInfo)94 SELECT95 di.NewPK,96 di.Element,97 di.AssignedElement,98 dbo.QBM_FCVElementToObjectKey1('BaseTreeHasObject',99 'UID_BaseTreeHasObject',100 di.NewPK),101 XOrigin102 FROM #QBMDeltaInsert di103 WHERE104 di.GenProcID = @GenProcID AND NOT EXISTS(105 SELECT TOP 1 1106 FROM BasetreeHasObject107 WHERE108 UID_BaseTreeHasObject = di.NewPK)109 END110 SELECT @ElementIndex += 1111 END112 END113 END TRY114 BEGIN CATCH115 EXEC QBM_PSessionErrorAdd DEFAULT116 DECLARE @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow()117 RAISERROR(@Rethrow,118 18,119 1)120 WITH NOWAIT121 END CATCH122 ende:123 EXEC QBM_PSessionContextSet 'GenProcID',124 @GenProcID_R125 RETURN126END
Open raw exported source
1 create procedure QER_PBasetreeHasObjectPostProc ( @CountDeltaOrigin int , @CountDeltaQantity int ) as begin declare @ElementCount int declare2 @ElementIndex int declare @ElementLast int declare @GenProcID varchar(38) declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') SET XACT_ABORT3 OFF BEGIN TRY if @CountDeltaOrigin > 0 begin declare @GenProcIDs_CountDeltaOrigin QBM_YCursorBuffer insert into @GenProcIDs_CountDeltaOrigin (UID1) select4 distinct de.GenProcID from #QBMDeltaOrigin de select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast5 = @@IDENTITY while @ElementIndex <= @ElementLast begin select top 1 @GenProcID = bu.UID1 from @GenProcIDs_CountDeltaOrigin bu where bu.ElementIndex = 6@ElementIndex exec QBM_PSessionContextSet 'GenProcID', @GenProcID update BaseTreeHasObject set InheritInfo = di.XOrigin from BaseTreeHasObject bho join7 #QBMDeltaOrigin di on bho.uid_Org = di.Element and bho.Objectkey = di.AssignedElement where di.GenProcID = @GenProcID select @ElementIndex += 1 end end8 if @CountDeltaQantity > 0 begin update #QBMDeltaInsert set NewPK = dbo.QBM_FCVStringToGUIDMAll(null, Element, AssignedElement) declare @GenProcIDs_CountDeltaQuantity9 QBM_YCursorBuffer insert into @GenProcIDs_CountDeltaQuantity (UID1) select de.GenProcID from #QBMDeltaDelete de union select de.GenProcID from #QBMDeltaInsert10 de select @ElementCount = @@ROWCOUNT select @ElementIndex = @@IDENTITY - @ElementCount +1 select @ElementLast = @@IDENTITY while @ElementIndex <= @ElementLast11 begin select top 1 @GenProcID = bu.UID1 from @GenProcIDs_CountDeltaQuantity bu where bu.ElementIndex = @ElementIndex if exists (select top 1 1 from #QBMDeltaDelete12 x where x.GenProcID = @GenProcID ) begin exec QBM_PSessionContextSet 'GenProcID', @GenProcID delete from BaseTreeHasObject where exists (select top 1 131 from #QBMDeltaDelete where Element = BaseTreeHasObject.uid_Org and AssignedElement = BaseTreeHasObject.ObjectKey and GenProcID = @GenProcID ) end if14 exists (select top 1 1 from #QBMDeltaInsert x where x.GenProcID = @GenProcID ) begin exec QBM_PSessionContextSet 'GenProcID', @GenProcID insert into 15BaseTreeHasObject (UID_BaseTreeHasObject, UID_Org ,ObjectKey , XObjectKey, InheritInfo) select di.NewPK, di.Element, di.AssignedElement, dbo.QBM_FCVElementToObjectKey116('BaseTreeHasObject', 'UID_BaseTreeHasObject', di.NewPK), XOrigin from #QBMDeltaInsert di where di.GenProcID = @GenProcID and not exists (select top 117 1 from BasetreeHasObject where UID_BaseTreeHasObject = di.NewPK) end select @ElementIndex += 1 end end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd18 default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: exec QBM_PSessionContextSet19 'GenProcID', @GenProcID_R return end 20