Back to OIM Explorer

dbo.QBM_PNonlinear_Prepare

Stored ProcedureSQL_STORED_PROCEDURESandbox DB

Stored Procedure.

Source: sandbox-db sys.sql_modules

Source size: 2.197 characters

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_FCVGUIDToModuleOwner source text reference
  • references source dbo.QBM_FCVObjectKeyToModuleOwner source text reference
  • references source dbo.QBM_FGISessionErrorRethrow source text reference
  • references source dbo.QBM_PExecuteSQLMulti source text reference
  • references source dbo.QBM_PSessionErrorAdd source text reference

Complete Source

SQL66 lines
1CREATE PROCEDURE QBM_PNonlinear_Prepare2AS3BEGIN4  DECLARE @Tablenames QBM_YCursorBuffer5  SET XACT_ABORT OFF6  BEGIN TRY7    DECLARE @Pattern nvarchar(max) = '89update 	@TableName@10	set XTouched = diff.XTouchedSoll11--select * 12	from @TableName@	ist 13		join (14			select z.XObjectKey, z.XTouchedist, Case15													when z.OwnerElem = ''ZZZ'' then ''O''16													else ''''17												end as XTouchedSoll18			 from (19					select y.XObjectKey, y.XTouchedist, dbo.QBM_FCVObjectKeyToModuleOwner(y.XObjectKey  ) as OwnerElem20						from (2122							select x.XObjectKey , isnull(x.XTouched, '''') as XTouchedist23								, dbo.QBM_FCVGUIDToModuleOwner(x.@ChildColumnLeft@) as OwnerLeft24								, dbo.QBM_FCVGUIDToModuleOwner(x.@ChildColumnRight@) as OwnerRight25								--, dbo.QBM_FCVObjectKeyToModuleOwner(x.XObjectKey  ) as OwnerObj26							from @TableName@ x27							) as y -- vorfiltern was überhaupt Z werden kann28									left outer join QBMModuleDependCollection co1 on  (co1.UID_ModulePredecessor = y.OwnerLeft + ''-ModuleDefinition''29																						and co1.UID_ModuleFollower = y.OwnerRight + ''-ModuleDefinition''30																					 ) 31									left outer join QBMModuleDependCollection co2 on  (co2.UID_ModulePredecessor = y.OwnerRight + ''-ModuleDefinition''32																						and co2.UID_ModuleFollower = y.OwnerLeft + ''-ModuleDefinition''33																					 ) 34					where co1.UID_ModuleFollower is null35					 and co2.UID_ModuleFollower is null36					) as z 37				where z.XTouchedist <> Case38											when z.OwnerElem = ''ZZZ'' then ''O''39											else ''''40										end 41			) as diff on ist.XObjectKey = diff.XObjectKey42'43    INSERT INTO @Tablenames(Ident1,44    ContentFull)45    SELECT46      v.TableName,47      REPLACE(REPLACE(REPLACE(@Pattern, '@TableName@', v.TableName), '@ChildColumnLeft@', v.ChildColumnLeft),48      '@ChildColumnRight@',49      v.ChildColumnRight)50    FROM QBM_VNonlinearDeleteCandidates v51    IF @@ROWCOUNT > 052    BEGIN53      EXEC QBM_PExecuteSQLMulti @Tablenames,54      0,55        @@procid56    END57  END TRY58  BEGIN CATCH59    EXEC QBM_PSessionErrorAdd DEFAULT60    DECLARE @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow()61    RAISERROR(@Rethrow,62    18,63    1)64      WITH NOWAIT65  END CATCH66END
Open raw exported source
SQL · Raw42 lines
1  create   procedure QBM_PNonlinear_Prepare as begin declare @Tablenames QBM_YCursorBuffer SET XACT_ABORT OFF BEGIN TRY declare @Pattern nvarchar2(max) = '34update 	@TableName@5	set XTouched = diff.XTouchedSoll6--select * 7	from @TableName@	ist 8		join (9			select z.XObjectKey, z.XTouchedist, Case10													when z.OwnerElem = ''ZZZ'' then ''O''11													else ''''12												end as XTouchedSoll13			 from (14					select y.XObjectKey, y.XTouchedist, dbo.QBM_FCVObjectKeyToModuleOwner(y.XObjectKey  ) as OwnerElem15						from (1617							select x.XObjectKey , isnull(x.XTouched, '''') as XTouchedist18								, dbo.QBM_FCVGUIDToModuleOwner(x.@ChildColumnLeft@) as OwnerLeft19								, dbo.QBM_FCVGUIDToModuleOwner(x.@ChildColumnRight@) as OwnerRight20								--, dbo.QBM_FCVObjectKeyToModuleOwner(x.XObjectKey  ) as OwnerObj21							from @TableName@ x22							) as y -- vorfiltern was überhaupt Z werden kann23									left outer join QBMModuleDependCollection co1 on  (co1.UID_ModulePredecessor = y.OwnerLeft + ''-ModuleDefinition''24																						and co1.UID_ModuleFollower = y.OwnerRight + ''-ModuleDefinition''25																					 ) 26									left outer join QBMModuleDependCollection co2 on  (co2.UID_ModulePredecessor = y.OwnerRight + ''-ModuleDefinition''27																						and co2.UID_ModuleFollower = y.OwnerLeft + ''-ModuleDefinition''28																					 ) 29					where co1.UID_ModuleFollower is null30					 and co2.UID_ModuleFollower is null31					) as z 32				where z.XTouchedist <> Case33											when z.OwnerElem = ''ZZZ'' then ''O''34											else ''''35										end 36			) as diff on ist.XObjectKey = diff.XObjectKey37'38  insert into @Tablenames(Ident1, ContentFull) select v.TableName  ,REPLACE(REPLACE(REPLACE(@Pattern, '@TableName@', v.TableName) , '@ChildColumnLeft@'39, v.ChildColumnLeft) , '@ChildColumnRight@', v.ChildColumnRight) from QBM_VNonlinearDeleteCandidates v if @@ROWCOUNT > 0 begin exec QBM_PExecuteSQLMulti40 @Tablenames, 0, @@procid end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR41 (@Rethrow, 18, 1) WITH NOWAIT END CATCH end 42