dbo.QBM_PCustomSQLSort
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_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
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
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