Back to OIM Explorer

dbo.QBM_PCustomSQLSort

Stored ProcedureSQL_STORED_PROCEDURESandbox DB

Stored Procedure.

Source: sandbox-db sys.sql_modules

Source size: 2.164 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_FGISessionErrorRethrow source text reference
  • references source dbo.QBM_PCustomSQLDependencyFill source text reference
  • references source dbo.QBM_PSessionErrorAdd source text reference

References

Referenced By

  • No direct source references extracted.

Complete Source

SQL100 lines
1CREATE PROCEDURE QBM_PCustomSQLSort(2  @SlotnumberDummy int,3  @dummy1 varchar(38),4  @Dummy2 varchar(38),5  @GenProcIDDummy varchar(38)6)7AS8BEGIN9  DECLARE @Schema_Id int10  DECLARE @XUser nvarchar(64) = 'QBMCustomSQL'11  DECLARE @DebugSwitch int = 012  DECLARE @durchlauf int13  DECLARE @anzAend int14  DECLARE @Xdate datetime = getutcdate()15  SET XACT_ABORT OFF16  BEGIN TRY17    SELECT TOP 1 @Schema_Id = schema_id18    FROM sys.schemas19    WHERE20      name = N 'dbo'21    IF @DebugSwitch > 022    BEGIN23      print 'Start ' + convert(varchar(64),24      getutcdate(),25      121)26    END27    BEGIN TRY28      EXEC QBM_PCustomSQLDependencyFill29    END TRY30    BEGIN CATCH31      print ' na dann eben nich'32    END CATCH33    IF @DebugSwitch > 034    BEGIN35      print 'Dependencies gefüllt' + convert(varchar(64),36      getutcdate(),37      121)38    END39    UPDATE QBMCustomsql40    SET SortOrder = CASE scripttype41    WHEN N 'N' THEN42    100043    WHEN N 'F' THEN44    200045    WHEN N 'V' THEN46    300047    WHEN N 'P' THEN48    400049    ELSE 500050    END,51    XDateUpdated = @Xdate,52    XUserUpdated = @XUser53    SELECT @durchlauf = 0 marke:54    IF @DebugSwitch > 055    BEGIN56      print 'durchlauf  ' + str(@durchlauf) + convert(varchar(64),57      getutcdate(),58      121)59    END60    SELECT @anzAend = 061    UPDATE QBMCustomSQL62    SET SortOrder = CASE63    WHEN co2.SortOrder < QBMCustomSQL.SortOrder THEN64    QBMCustomSQL.SortOrder +165    ELSE co2.SortOrder +166    END,67    XDateUpdated = @Xdate,68    XUserUpdated = @XUser69    FROM QBMCustomSQL70    JOIN sys.objects o171      ON o1.name = QBMCustomSQL.scriptname collate database_default AND72    LEFT(o1.type,73    1) = QBMCustomSQL.scripttype collate database_default74    JOIN sys.sql_dependencies d75      ON o1.object_id = d.object_id76    JOIN sys.objects o277      ON d.referenced_major_id = o2.object_id78    JOIN QBMCustomSQL co279      ON o2.name = co2.scriptname collate database_default AND o1.name <> isnull(o2.name,80    N '') collate database_default81    WHERE82      QBMCustomSQL.SortOrder <= co2.SortOrder AND o1.schema_id = @Schema_Id AND o2.schema_id = @Schema_Id83    SELECT @anzAend = @anzAend + @@rowcount84    IF @anzAend = 085    GOTO ende86    SELECT @durchlauf = @durchlauf +187    IF @durchlauf < 1088    GOTO marke89  END TRY90  BEGIN CATCH91    EXEC QBM_PSessionErrorAdd DEFAULT92    DECLARE @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow()93    RAISERROR(@Rethrow,94    18,95    1)96      WITH NOWAIT97  END CATCH98  ende:99  RETURN100END
Open raw exported source
SQL · Raw15 lines
1     create   procedure QBM_PCustomSQLSort ( @SlotnumberDummy int , @dummy1 varchar(38) , @Dummy2 varchar(38) , @GenProcIDDummy varchar(38) ) as2 begin declare @Schema_Id int declare @XUser nvarchar(64) = 'QBMCustomSQL' declare @DebugSwitch int = 0   declare @durchlauf int declare @anzAend int  3    declare @Xdate datetime = getutcdate() SET XACT_ABORT OFF BEGIN TRY select top 1 @Schema_Id = schema_id from sys.schemas where name = N'dbo'  if @DebugSwitch4 > 0 begin print 'Start ' + convert(varchar(64), getutcdate(), 121) end   begin try exec QBM_PCustomSQLDependencyFill end try begin catch print ' na dann eben nich'5 end catch  if @DebugSwitch > 0 begin print 'Dependencies gefüllt' + convert(varchar(64), getutcdate(), 121) end update QBMCustomsql set SortOrder = case6 scripttype when N'N' then 1000 when N'F' then 2000 when N'V' then 3000 when N'P' then 4000 else 5000 end , XDateUpdated = @Xdate , XUserUpdated = @XUser7  select @durchlauf = 0 marke: if @DebugSwitch > 0 begin print 'durchlauf  ' + str(@durchlauf) + convert(varchar(64), getutcdate(), 121) end select @anzAend8 = 0 update QBMCustomSQL set SortOrder = case when co2.SortOrder < QBMCustomSQL.SortOrder then QBMCustomSQL.SortOrder +1 else co2.SortOrder +1 end , XDateUpdated9 = @Xdate , XUserUpdated = @XUser  from QBMCustomSQL join sys.objects o1 on o1.name = QBMCustomSQL.scriptname collate database_default and left(o1.type10,1) = QBMCustomSQL.scripttype collate database_default  join sys.sql_dependencies d on o1.object_id = d.object_id  join sys.objects o2 on d.referenced_major_id11 = o2.object_id  join QBMCustomSQL co2 on o2.name = co2.scriptname collate database_default    and o1.name <> isnull(o2.name,N'') collate database_default12 where QBMCustomSQL.SortOrder <= co2.SortOrder and o1.schema_id = @Schema_Id and o2.schema_id = @Schema_Id select @anzAend = @anzAend + @@rowcount    if13 @anzAend = 0 goto ende select @durchlauf = @durchlauf +1 if @durchlauf < 10 goto marke   END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare14 @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end 15