Back to OIM Explorer

dbo.QBM_PCustomSQLPropagate

Stored ProcedureSQL_STORED_PROCEDURESandbox DB

Stored Procedure.

Source: sandbox-db sys.sql_modules

Source size: 7.922 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_FCVDatetimeToString source text reference
  • references source dbo.QBM_FGIObjectIsDropable source text reference
  • references source dbo.QBM_FSQObjectComment source text reference
  • references source dbo.QBM_PCustomSQLPropagate_Cont source text reference
  • references source dbo.QBM_PDatabasePrepare source text reference
  • references source dbo.QBM_PDatabasePrepareCheck1 source text reference
  • references source dbo.QBM_PExecuteSQLWithRetry_LLP source text reference
  • references source dbo.QBM_PFunctionDrop source text reference
  • references source dbo.QBM_PProcedureDrop source text reference
  • references source dbo.QBM_PSessionErrorAdd source text reference
  • references source dbo.QBM_PSQLCreate source text reference
  • references source dbo.QBM_PTriggerDrop source text reference
  • references source dbo.QBM_PViewBuild source text reference
  • references source dbo.QBM_PViewDrop source text reference

Complete Source

SQL345 lines
1CREATE PROCEDURE QBM_PCustomSQLPropagate(2  @ModuleToRestore varchar(3) = 'CCC',3  @OnlyPropagateEmptyXTouched BIT = 04)5AS6BEGIN7  DECLARE @CurrentDeadlock_priority int8  DECLARE @ScriptName nvarchar(64)9  DECLARE @ScriptType nvarchar(1)10  DECLARE @initialContent nvarchar(max)11  DECLARE @UID_QBMCustomSQL varchar(38)12  DECLARE @DebugSwitch int = 013  DECLARE @Anzahl int14  DECLARE @work TABLE(UID_QBMCustomSQL varchar(38) collate database_default,15  ScriptName nvarchar(64) collate database_default,16  ScriptType nvarchar(1) collate database_default,17  SortOrder int,18  Scriptcode nvarchar(max))19  DECLARE @nogo QBM_YParameterList20  DECLARE @ErrorBuffer QBM_YSessionError21  SET XACT_ABORT OFF22  BEGIN TRY23    SET nocount24      ON25    SET quoted_identifier26      ON27    SELECT TOP 1 @CurrentDeadlock_priority = s.deadlock_priority28    FROM sys.dm_exec_sessions s29    WHERE30      s.session_id = @@spid31    SELECT32      @CurrentDeadlock_priority = isnull(@CurrentDeadlock_priority,33      0)34    SET deadlock_priority 835    INSERT INTO @nogo(Parameter1)36    VALUES('QBM_FGIObjectIsDropable'),37    ('QBM_PCustomSQLPropagate_Cont'),38    ('QBM_PCustomSQLPropagate'),39    ('QBM_PViewDrop'),40    ('QBM_PFunctionDrop'),41    ('QBM_PProcedureDrop'),42    ('QBM_PTriggerDrop'),43    ('QBM_FSQObjectComment'),44    ('QBM_PExecuteSQLWithRetry_LLP')45    SELECT @ScriptType = N 'U'46    DELETE @work47    INSERT INTO @work(UID_QBMCustomSQL,48    ScriptName,49    ScriptType,50    SortOrder)51    SELECT52      s.UID_QBMCustomSQL,53      s.ScriptName,54      s.ScriptType,55      s.SortOrder56    FROM QBMCustomSQL s57    WHERE58      ScriptType = @ScriptType AND59    LEFT(s.UID_QBMCustomSQL,60    4) = @ModuleToRestore + '-' AND(@OnlyPropagateEmptyXTouched = 0 OR(@OnlyPropagateEmptyXTouched = 1 AND trim(isnull(s.XTouched,61    '')) = ''))62    SELECT @anzahl = @@ROWCOUNT63    IF @DebugSwitch > 064    BEGIN65      print 'Anzahl U geladen ' + str(@anzahl) + ' ' + dbo.QBM_FCVDatetimeToString(GETUTCDATE())66    END67    WHILE EXISTS(68    SELECT TOP 1 169    FROM @work)70    BEGIN71      SELECT72        TOP 1 @UID_QBMCustomSQL = w.UID_QBMCustomSQL,73        @ScriptName = w.ScriptName,74        @ScriptType = w.ScriptType75      FROM @work w76      ORDER BY w.SortOrder77      EXEC QBM_PCustomSQLPropagate_Cont @UID_QBMCustomSQL,78        @ScriptName79      DELETE @work80      WHERE81        UID_QBMCustomSQL = @UID_QBMCustomSQL82      UPDATE QBMCustomSQL83      SET XTouched = 'I'84      FROM QBMCustomSQL c85      WHERE86        c.UID_QBMCustomSQL = @UID_QBMCustomSQL AND trim(isnull(c.XTouched, '')) <> 'I'87    END88    SELECT @ScriptType = N 'C'89    DELETE @work90    INSERT INTO @work(UID_QBMCustomSQL,91    ScriptName,92    ScriptType,93    SortOrder)94    SELECT95      s.UID_QBMCustomSQL,96      s.ScriptName,97      s.ScriptType,98      s.SortOrder99    FROM QBMCustomSQL s100    WHERE101      ScriptType = @ScriptType AND102    LEFT(s.UID_QBMCustomSQL,103    4) = @ModuleToRestore + '-' AND(@OnlyPropagateEmptyXTouched = 0 OR(@OnlyPropagateEmptyXTouched = 1 AND trim(isnull(s.XTouched,104    '')) = ''))105    SELECT @anzahl = @@ROWCOUNT106    IF @DebugSwitch > 0107    BEGIN108      print 'Anzahl C geladen ' + str(@anzahl) + ' ' + dbo.QBM_FCVDatetimeToString(GETUTCDATE())109    END110    WHILE EXISTS(111    SELECT TOP 1 1112    FROM @work)113    BEGIN114      SELECT115        TOP 1 @UID_QBMCustomSQL = w.UID_QBMCustomSQL,116        @ScriptName = w.ScriptName,117        @ScriptType = w.ScriptType118      FROM @work w119      ORDER BY w.SortOrder120      EXEC QBM_PCustomSQLPropagate_Cont @UID_QBMCustomSQL,121        @ScriptName122      DELETE @work123      WHERE124        UID_QBMCustomSQL = @UID_QBMCustomSQL125      UPDATE QBMCustomSQL126      SET XTouched = 'I'127      FROM QBMCustomSQL c128      WHERE129        c.UID_QBMCustomSQL = @UID_QBMCustomSQL AND trim(isnull(c.XTouched, '')) <> 'I'130    END131    SELECT @ScriptType = N 'I'132    DELETE @work133    INSERT INTO @work(UID_QBMCustomSQL,134    ScriptName,135    ScriptType,136    SortOrder)137    SELECT138      s.UID_QBMCustomSQL,139      s.ScriptName,140      s.ScriptType,141      s.SortOrder142    FROM QBMCustomSQL s143    WHERE144      ScriptType = @ScriptType AND145    LEFT(s.UID_QBMCustomSQL,146    4) = @ModuleToRestore + '-' AND(@OnlyPropagateEmptyXTouched = 0 OR(@OnlyPropagateEmptyXTouched = 1 AND trim(isnull(s.XTouched,147    '')) = ''))148    SELECT @anzahl = @@ROWCOUNT149    IF @DebugSwitch > 0150    BEGIN151      print 'Anzahl I geladen ' + str(@anzahl) + ' ' + dbo.QBM_FCVDatetimeToString(GETUTCDATE())152    END153    WHILE EXISTS(154    SELECT TOP 1 1155    FROM @work)156    BEGIN157      SELECT158        TOP 1 @UID_QBMCustomSQL = w.UID_QBMCustomSQL,159        @ScriptName = w.ScriptName,160        @ScriptType = w.ScriptType161      FROM @work w162      ORDER BY w.SortOrder163      EXEC QBM_PCustomSQLPropagate_Cont @UID_QBMCustomSQL,164        @ScriptName165      DELETE @work166      WHERE167        UID_QBMCustomSQL = @UID_QBMCustomSQL168      UPDATE QBMCustomSQL169      SET XTouched = 'I'170      FROM QBMCustomSQL c171      WHERE172        c.UID_QBMCustomSQL = @UID_QBMCustomSQL AND trim(isnull(c.XTouched, '')) <> 'I'173    END174    IF @DebugSwitch > 0175    BEGIN176      print 'start QBM_PViewBuild ' + dbo.QBM_FCVDatetimeToString(GETUTCDATE())177    END178    IF @ModuleToRestore = 'CCC'179    BEGIN180      EXEC QBM_PViewBuild181    END182    IF @DebugSwitch > 0183    BEGIN184      print 'ende QBM_PViewBuild' + dbo.QBM_FCVDatetimeToString(GETUTCDATE())185    END186    DELETE @work187    INSERT INTO @work(UID_QBMCustomSQL,188    ScriptName,189    ScriptType,190    SortOrder,191    Scriptcode)192    SELECT193      s.UID_QBMCustomSQL,194      s.ScriptName,195    CASE196      WHEN s.ScriptType = N 'V' THEN197    N 'V'198    ELSE N 'F'199    END,200    s.SortOrder,201    s.Scriptcode202    FROM QBMCustomSQL s203    LEFT204    OUTER205    JOIN @nogo n206      ON s.ScriptName = n.Parameter1207    WHERE208      ScriptType IN(N 'N',209    N 'F',210    N 'V') AND211    LEFT(s.UID_QBMCustomSQL,212    4) = @ModuleToRestore + '-' AND n.Parameter1 IS NULL AND(@OnlyPropagateEmptyXTouched = 0 OR(@OnlyPropagateEmptyXTouched = 1 AND trim(isnull(s.XTouched213    , '')) = ''))214    SELECT @anzahl = @@ROWCOUNT215    IF @DebugSwitch > 0216    BEGIN217      print 'Anzahl V/F geladen ' + str(@anzahl) + ' ' + dbo.QBM_FCVDatetimeToString(GETUTCDATE())218    END219    WHILE EXISTS(220    SELECT TOP 1 1221    FROM @work)222    BEGIN223      SELECT224        TOP 1 @UID_QBMCustomSQL = w.UID_QBMCustomSQL,225        @ScriptName = w.ScriptName,226        @ScriptType = w.ScriptType,227        @initialContent = w.Scriptcode228      FROM @work w229      ORDER BY w.SortOrder230      EXEC QBM_PSQLCreate @ScriptName,231        @ScriptType,232        @initialContent,233        @UnComment = 0,234        @Unformat = 0235      DELETE @work236      WHERE237        UID_QBMCustomSQL = @UID_QBMCustomSQL238      UPDATE QBMCustomSQL239      SET XTouched = 'I'240      FROM QBMCustomSQL c241      WHERE242        c.UID_QBMCustomSQL = @UID_QBMCustomSQL AND trim(isnull(c.XTouched, '')) <> 'I'243    END244    DELETE @work245    INSERT INTO @work(UID_QBMCustomSQL,246    ScriptName,247    ScriptType,248    SortOrder,249    Scriptcode)250    SELECT251      s.UID_QBMCustomSQL,252      s.ScriptName,253      s.ScriptType,254      s.SortOrder,255      s.Scriptcode256    FROM QBMCustomSQL s257    LEFT258    OUTER259    JOIN @nogo n260      ON s.ScriptName = n.Parameter1261    WHERE262      ScriptType IN(N 'P',263    N 'T') AND264    LEFT(s.UID_QBMCustomSQL,265    4) = @ModuleToRestore + '-' AND n.Parameter1 IS NULL AND(@OnlyPropagateEmptyXTouched = 0 OR(@OnlyPropagateEmptyXTouched = 1 AND trim(isnull(s.XTouched266    , '')) = ''))267    SELECT @anzahl = @@ROWCOUNT268    IF @DebugSwitch > 0269    BEGIN270      print 'Anzahl P/T geladen ' + str(@anzahl) + ' ' + dbo.QBM_FCVDatetimeToString(GETUTCDATE())271    END272    WHILE EXISTS(273    SELECT TOP 1 1274    FROM @work)275    BEGIN276      SELECT277        TOP 1 @UID_QBMCustomSQL = w.UID_QBMCustomSQL,278        @ScriptName = w.ScriptName,279        @ScriptType = w.ScriptType,280        @initialContent = w.Scriptcode281      FROM @work w282      ORDER BY w.SortOrder283      EXEC QBM_PSQLCreate @ScriptName,284        @ScriptType,285        @initialContent,286        @UnComment = 0,287        @Unformat = 0288      DELETE @work289      WHERE290        UID_QBMCustomSQL = @UID_QBMCustomSQL291      UPDATE QBMCustomSQL292      SET XTouched = 'I'293      FROM QBMCustomSQL c294      WHERE295        c.UID_QBMCustomSQL = @UID_QBMCustomSQL AND trim(isnull(c.XTouched, '')) <> 'I'296    END297    IF @ModuleToRestore = 'CCC'298    BEGIN299      IF @DebugSwitch > 0300      BEGIN301        print 'start QBM_PDatabasePrepareCheck1' + dbo.QBM_FCVDatetimeToString(GETUTCDATE())302      END303      EXEC QBM_PDatabasePrepareCheck1304      IF @DebugSwitch > 0305      BEGIN306        print 'ende QBM_PDatabasePrepareCheck1' + dbo.QBM_FCVDatetimeToString(GETUTCDATE())307      END308    END309  END TRY310  BEGIN CATCH311    DECLARE @ErrorMessage nvarchar(4000) = error_message()312    DELETE @ErrorBuffer313    INSERT INTO @ErrorBuffer(ErrorMessage,314    ErrorSeverity,315    ErrorState,316    ErrorNumber,317    ProcedureName,318    ProcedureLine,319    MessageDate,320    GenProcID,321    RepeatCounter,322    IsReThrow,323    SourceCode)324    SELECT325      @ErrorMessage,326      ERROR_SEVERITY(),327      ERROR_STATE(),328      ERROR_NUMBER(),329      ERROR_PROCEDURE(),330      ERROR_LINE(),331      GETUTCDATE(),332      NULL,333      0,334      0,335      @ScriptName336    EXEC QBM_PSessionErrorAdd @ErrorBuffer337    RAISERROR(@ErrorMessage,338    18,339    1)340      WITH NOWAIT341  END CATCH342  endLabel:343  SET deadlock_priority @CurrentDeadlock_priority344  RETURN345END
Open raw exported source
SQL ยท Raw51 lines
1  create   procedure QBM_PCustomSQLPropagate (@ModuleToRestore varchar(3) = 'CCC' , @OnlyPropagateEmptyXTouched bit = 0 )  as begin declare @CurrentDeadlock_priority2 int declare @ScriptName nvarchar(64) declare @ScriptType nvarchar(1) declare @initialContent nvarchar(max)   declare @UID_QBMCustomSQL varchar(38)  declare3 @DebugSwitch int = 0 declare @Anzahl int     declare @work table ( UID_QBMCustomSQL varchar(38) collate database_default , ScriptName nvarchar(64) collate4 database_default , ScriptType nvarchar(1) collate database_default , SortOrder int  , Scriptcode nvarchar(max) ) declare @nogo QBM_YParameterList declare5 @ErrorBuffer QBM_YSessionError SET XACT_ABORT OFF BEGIN TRY set nocount on set quoted_identifier on select top 1 @CurrentDeadlock_priority = s.deadlock_priority6 FROM sys.dm_exec_sessions s where s.session_id = @@spid select @CurrentDeadlock_priority = isnull(@CurrentDeadlock_priority, 0) set deadlock_priority 78 insert into @nogo(Parameter1) values ('QBM_FGIObjectIsDropable') , ('QBM_PCustomSQLPropagate_Cont') , ('QBM_PCustomSQLPropagate') , ('QBM_PViewDrop')8 , ('QBM_PFunctionDrop') , ('QBM_PProcedureDrop') , ('QBM_PTriggerDrop') , ('QBM_FSQObjectComment')  , ('QBM_PExecuteSQLWithRetry_LLP')  select @ScriptType9 = N'U'  delete  @work  insert into @work(UID_QBMCustomSQL, ScriptName, ScriptType, SortOrder) select s.UID_QBMCustomSQL , s.ScriptName, s.ScriptType, 10s.SortOrder from QBMCustomSQL s where ScriptType = @ScriptType and left(s.UID_QBMCustomSQL , 4) = @ModuleToRestore + '-'  and ( @OnlyPropagateEmptyXTouched11 = 0 or ( @OnlyPropagateEmptyXTouched = 1 and trim(isnull(s.XTouched, '')) = '' ) )  select @anzahl = @@ROWCOUNT if @DebugSwitch > 0 begin print 'Anzahl U geladen '12 + str(@anzahl)+ ' ' + dbo.QBM_FCVDatetimeToString(GETUTCDATE()) end while exists (select top 1 1 from @work) BEGIN select top 1 @UID_QBMCustomSQL = w.UID_QBMCustomSQL13 , @ScriptName = w.ScriptName , @ScriptType = w.ScriptType from @work w order by w.SortOrder exec QBM_PCustomSQLPropagate_Cont @UID_QBMCustomSQL, @ScriptName14 delete  @work where UID_QBMCustomSQL = @UID_QBMCustomSQL  update QBMCustomSQL set XTouched = 'I' from QBMCustomSQL c where c.UID_QBMCustomSQL = @UID_QBMCustomSQL15 and trim(isnull(c.XTouched,'')) <> 'I'  END   select @ScriptType = N'C'  delete  @work insert into @work(UID_QBMCustomSQL, ScriptName, ScriptType, SortOrder16) select s.UID_QBMCustomSQL , s.ScriptName, s.ScriptType, s.SortOrder from QBMCustomSQL s where ScriptType = @ScriptType and left(s.UID_QBMCustomSQL , 174) = @ModuleToRestore + '-'  and ( @OnlyPropagateEmptyXTouched = 0 or ( @OnlyPropagateEmptyXTouched = 1 and trim(isnull(s.XTouched, '')) = '' ) )  select18 @anzahl = @@ROWCOUNT if @DebugSwitch > 0 begin print 'Anzahl C geladen ' + str(@anzahl) + ' ' + dbo.QBM_FCVDatetimeToString(GETUTCDATE()) end while exists19 (select top 1 1 from @work) BEGIN select top 1 @UID_QBMCustomSQL = w.UID_QBMCustomSQL , @ScriptName = w.ScriptName , @ScriptType = w.ScriptType from @work20 w order by w.SortOrder exec QBM_PCustomSQLPropagate_Cont @UID_QBMCustomSQL, @ScriptName delete  @work where UID_QBMCustomSQL = @UID_QBMCustomSQL  update21 QBMCustomSQL set XTouched = 'I' from QBMCustomSQL c where c.UID_QBMCustomSQL = @UID_QBMCustomSQL and trim(isnull(c.XTouched,'')) <> 'I'  END   select 22@ScriptType = N'I'  delete  @work insert into @work(UID_QBMCustomSQL, ScriptName, ScriptType, SortOrder) select s.UID_QBMCustomSQL , s.ScriptName, s.ScriptType23, s.SortOrder from QBMCustomSQL s where ScriptType = @ScriptType and left(s.UID_QBMCustomSQL , 4) = @ModuleToRestore + '-'  and ( @OnlyPropagateEmptyXTouched24 = 0 or ( @OnlyPropagateEmptyXTouched = 1 and trim(isnull(s.XTouched, '')) = '' ) )  select @anzahl = @@ROWCOUNT if @DebugSwitch > 0 begin print 'Anzahl I geladen '25 + str(@anzahl) + ' ' + dbo.QBM_FCVDatetimeToString(GETUTCDATE()) end while exists (select top 1 1 from @work) BEGIN select top 1 @UID_QBMCustomSQL = w.UID_QBMCustomSQL26 , @ScriptName = w.ScriptName , @ScriptType = w.ScriptType from @work w order by w.SortOrder exec QBM_PCustomSQLPropagate_Cont @UID_QBMCustomSQL, @ScriptName27 delete  @work where UID_QBMCustomSQL = @UID_QBMCustomSQL  update QBMCustomSQL set XTouched = 'I' from QBMCustomSQL c where c.UID_QBMCustomSQL = @UID_QBMCustomSQL28 and trim(isnull(c.XTouched,'')) <> 'I'  END   if @DebugSwitch > 0 begin print 'start QBM_PViewBuild ' + dbo.QBM_FCVDatetimeToString(GETUTCDATE()) end 29if @ModuleToRestore = 'CCC' begin exec QBM_PViewBuild end if @DebugSwitch > 0 begin print 'ende QBM_PViewBuild' + dbo.QBM_FCVDatetimeToString(GETUTCDATE30()) end    delete  @work insert into @work(UID_QBMCustomSQL, ScriptName, ScriptType, SortOrder, Scriptcode) select s.UID_QBMCustomSQL, s.ScriptName, case31 when s.ScriptType = N'V' then N'V' else N'F' end, s.SortOrder, s.Scriptcode from QBMCustomSQL s left outer join @nogo n on s.ScriptName = n.Parameter132 where ScriptType in (N'N', N'F', N'V') and left(s.UID_QBMCustomSQL , 4) = @ModuleToRestore + '-' and n.Parameter1 is null  and ( @OnlyPropagateEmptyXTouched33 = 0 or ( @OnlyPropagateEmptyXTouched = 1 and trim(isnull(s.XTouched, '')) = '' ) )  select @anzahl = @@ROWCOUNT if @DebugSwitch > 0 begin print 'Anzahl V/F geladen '34 + str(@anzahl) + ' ' + dbo.QBM_FCVDatetimeToString(GETUTCDATE()) end while exists (select top 1 1 from @work) BEGIN select top 1 @UID_QBMCustomSQL = w.UID_QBMCustomSQL35 , @ScriptName = w.ScriptName , @ScriptType = w.ScriptType , @initialContent = w.Scriptcode from @work w order by w.SortOrder   exec QBM_PSQLCreate @ScriptName36, @ScriptType, @initialContent, @UnComment = 0, @Unformat = 0 delete  @work where UID_QBMCustomSQL = @UID_QBMCustomSQL  update QBMCustomSQL set XTouched37 = 'I' from QBMCustomSQL c where c.UID_QBMCustomSQL = @UID_QBMCustomSQL and trim(isnull(c.XTouched,'')) <> 'I'  END   delete  @work insert into @work(UID_QBMCustomSQL38, ScriptName, ScriptType, SortOrder, Scriptcode) select s.UID_QBMCustomSQL , s.ScriptName, s.ScriptType, s.SortOrder, s.Scriptcode from QBMCustomSQL s 39left outer join @nogo n on s.ScriptName = n.Parameter1 where ScriptType in (  N'P', N'T')  and left(s.UID_QBMCustomSQL , 4) = @ModuleToRestore + '-' and40 n.Parameter1 is null  and ( @OnlyPropagateEmptyXTouched = 0 or ( @OnlyPropagateEmptyXTouched = 1 and trim(isnull(s.XTouched, '')) = '' ) )  select @anzahl41 = @@ROWCOUNT if @DebugSwitch > 0 begin print 'Anzahl P/T geladen ' + str(@anzahl) + ' ' + dbo.QBM_FCVDatetimeToString(GETUTCDATE()) end while exists (select42 top 1 1 from @work) BEGIN select top 1 @UID_QBMCustomSQL = w.UID_QBMCustomSQL , @ScriptName = w.ScriptName , @ScriptType = w.ScriptType , @initialContent43 = w.Scriptcode from @work w order by w.SortOrder   exec QBM_PSQLCreate @ScriptName, @ScriptType, @initialContent, @UnComment = 0, @Unformat = 0 delete44  @work where UID_QBMCustomSQL = @UID_QBMCustomSQL  update QBMCustomSQL set XTouched = 'I' from QBMCustomSQL c where c.UID_QBMCustomSQL = @UID_QBMCustomSQL45 and trim(isnull(c.XTouched,'')) <> 'I'  END    if @ModuleToRestore = 'CCC' begin if @DebugSwitch > 0 begin print 'start QBM_PDatabasePrepareCheck1' + 46dbo.QBM_FCVDatetimeToString(GETUTCDATE()) end exec QBM_PDatabasePrepareCheck1 if @DebugSwitch > 0 begin print 'ende QBM_PDatabasePrepareCheck1' + dbo.QBM_FCVDatetimeToString47(GETUTCDATE()) end end END TRY BEGIN CATCH declare @ErrorMessage nvarchar(4000) = error_message() delete @ErrorBuffer insert into @ErrorBuffer (ErrorMessage48, ErrorSeverity, ErrorState, ErrorNumber , ProcedureName, ProcedureLine, MessageDate , GenProcID, RepeatCounter, IsReThrow, SourceCode) select @ErrorMessage49,ERROR_SEVERITY(), ERROR_STATE(), ERROR_NUMBER() , ERROR_PROCEDURE() , ERROR_LINE(), GETUTCDATE() , null, 0, 0, @ScriptName exec QBM_PSessionErrorAdd @ErrorBuffer50  RAISERROR (@ErrorMessage, 18, 1) WITH NOWAIT END CATCH endLabel:  set deadlock_priority @CurrentDeadlock_priority  return end 51