Back to OIM Explorer

dbo.QBM_P195C5572460EC8DDA27B3A3_1

Stored ProcedureSQL_STORED_PROCEDURESandbox DB

Stored Procedure.

Source: sandbox-db sys.sql_modules

Source size: 1.653 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_FCVStringToList 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

SQL88 lines
1CREATE PROCEDURE QBM_P195C5572460EC8DDA27B3A3_12AS3BEGIN4  DECLARE @Statements QBM_YCursorBuffer5  SET XACT_ABORT OFF6  BEGIN TRY7    SET nocount8      ON9    IF EXISTS(10      SELECT TOP 1 111      FROM sys.tables t12      WITH(readpast)13    JOIN sys.columns c14      WITH(readpast)15      ON t.object_id = c.object_id16    WHERE17      t.name = 'DialogDatabase' AND c.name = 'InitialMigrationRunning')18    BEGIN19      GOTO endLabel20    END21    drop TABLE22    IF EXISTS #merkeObjectkey23    CREATE TABLE #merkeObjectkey(24      TableName varchar(30) collate database_default,25      XObjectKey varchar(138) collate database_default,26      index #merkeObjectkey1(TableName),27      index #merkeObjectkey2(XObjectKey)28    )29    INSERT INTO #merkeObjectkey(TableName,30    XObjectKey31  )32  SELECT33    t.TableName,34    de.ObjectKeyOwner35  FROM QBMNonLinearDepend de36  JOIN DialogTable t37    ON de.ObjectKeyOwner LIKE '<Key><T>' + t.TableName + '</T>%' CROSS apply dbo.QBM_FCVStringToList(de.NeededModules,38  char(7),39  1,40  041) mo42LEFT43OUTER44JOIN QBMModuleDef md45  ON mo.ParameterValue = md.ModuleName46WHERE47  md.UID_ModuleDef IS NULL48INSERT INTO @Statements(ContentFull49)50SELECT51  CONCAT('52if exists (select top 1 153			from ',54  x.TableName,55  ' td join #merkeObjectkey m on td.XObjectKey = m.XObjectKey56		)57 begin58	delete ',59  x.TableName,60  '61		--select td.*62	from ',63  x.TableName,64  ' td join #merkeObjectkey m on td.XObjectKey = m.XObjectKey65 end66'67  )68FROM(69SELECT70  DISTINCT t.TableName71FROM #merkeObjectkey t72)73AS74x75EXEC QBM_PExecuteSQLMulti @Statements drop TABLE76IF EXISTS #merkeObjectkey77END TRY78BEGIN CATCH79  EXEC QBM_PSessionErrorAdd DEFAULT80  DECLARE @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow()81  RAISERROR(@Rethrow,82  18,83  1)84    WITH NOWAIT85END CATCH86endLabel:87RETURN88END
Open raw exported source
SQL ยท Raw21 lines
1   create   procedure QBM_P195C5572460EC8DDA27B3A3_1 as begin declare @Statements QBM_YCursorBuffer SET XACT_ABORT OFF BEGIN TRY set nocount on 2   if exists (select top 1 1 from sys.tables t with (readpast) join sys.columns c with (readpast) on t.object_id = c.object_id where t.name = 'DialogDatabase'3 and c.name = 'InitialMigrationRunning' ) begin goto endLabel end drop table if exists #merkeObjectkey create table #merkeObjectkey (TableName varchar(304) collate database_default , XObjectKey varchar(138) collate database_default , index #merkeObjectkey1 (TableName) , index #merkeObjectkey2 (XObjectKey5) ) insert into #merkeObjectkey(TableName, XObjectKey) select t.TableName, de.ObjectKeyOwner  from QBMNonLinearDepend de join DialogTable t on de.ObjectKeyOwner6 like '<Key><T>' + t.TableName + '</T>%' cross apply dbo.QBM_FCVStringToList(de.NeededModules, char(7), 1, 0) mo left outer join QBMModuleDef md on mo.ParameterValue7 = md.ModuleName where md.UID_ModuleDef is null insert into @Statements (ContentFull) select CONCAT('8if exists (select top 1 19			from ', x.TableName10 , ' td join #merkeObjectkey m on td.XObjectKey = m.XObjectKey11		)12 begin13	delete ', x.TableName , '14		--select td.*15	from ', x.TableName , ' td join #merkeObjectkey m on td.XObjectKey = m.XObjectKey16 end17'18 ) from ( select distinct t.TableName from #merkeObjectkey t ) as x exec QBM_PExecuteSQLMulti @Statements drop table if exists #merkeObjectkey END TRY 19BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT20 END CATCH endLabel:  return end 21