dbo.QBM_PJobCreate_SQLDel_B
Stored ProcedureSQL_STORED_PROCEDURESandbox DB
Interpretation
- Database routine. Review parameters, called procedures, DBQueue inserts, and QBM_PJobCreate helper calls before assuming side effects.
- Object-layer bridge detected through QBM_PJobCreate helper usage.
Relations
- References QBM_PJobCreate*
Typed Edges
- references source dbo.QBM_FCVElementToObjectKey1 source text reference
- references source dbo.QBM_FGISessionErrorRethrow source text reference
- references source dbo.QBM_PJobCreate source text reference
- references source dbo.QBM_PJobCreate_SQLDel source text reference
- references source dbo.QBM_PJobCreate_SQLDel_L source text reference
- references source dbo.QBM_PSessionErrorAdd source text reference
Complete Source
1CREATE PROCEDURE QBM_PJobCreate_SQLDel_B(2 @TableToDelete varchar(30),3 @whereclause nvarchar(max),4 @GenProcID varchar(38),5 @AdditionalObjectKeysAffected QBM_YParameterList READONLY,6 @isToFreezeOnError BIT = 0,7 @Retries int = 0,8 @priority int = 5,9 @Jobchainname nvarchar(256) = NULL,10 @StartAt datetime = NULL,11 @BasisObjectKey varchar(138) = N '',12 @XUser nvarchar(64) = NULL,13 @WhereClauseAdditional nvarchar(max) = '',14 @checkForExisting BIT = 0,15 @QueueName nvarchar(256) = NULL16)17AS18BEGIN19 DECLARE @XObjectKeysToDelete QBM_YParameterList20 DECLARE @SQLCmd nvarchar(max)21 SET XACT_ABORT OFF22 BEGIN TRY23 IF ISNULL(@BasisObjectKey,24 '') = ''25 BEGIN26 SELECT27 TOP 1 @BasisObjectKey = dbo.QBM_FCVElementToObjectKey1('DialogTable',28 'UID_DialogTable',29 t.UID_DialogTable)30 FROM DialogTable t31 WHERE32 t.TableName = @TableToDelete33 END34 IF NOT EXISTS(35 SELECT TOP 1 136 FROM DialogTable37 WHERE38 TableName = @TableToDelete AND IsDeactivatedByPreProcessor = 0)39 BEGIN40 GOTO ende41 END42 IF EXISTS(43 SELECT TOP 1 144 FROM DialogTable t45 WITH(readpast)46 JOIN DialogColumn c47 WITH(readpast)48 ON t.UID_DialogTable = c.UID_DialogTable49 WHERE50 t.TableName = @TableToDelete AND c.ColumnName = 'XObjectKey')51 BEGIN52 SELECT53 @SQLCmd = N '54 select XObjectKey 55 from ' + @TableToDelete + N '56 where ( ' + @whereclause + N ' )57 order by 1 '58 INSERT INTO @XObjectKeysToDelete(Parameter1)59 EXEC sp_executeSQL @SQLCmd60 EXEC QBM_PJobCreate_SQLDel_L @TableToDelete,61 @XObjectKeysToDelete,62 @GenProcID,63 @AdditionalObjectKeysAffected,64 @isToFreezeOnError,65 @Retries,66 @priority,67 @Jobchainname,68 @StartAt,69 @BasisObjectKey,70 @XUser,71 @WhereClauseAdditional,72 @checkForExisting,73 @QueueName74 END75 ELSE76 BEGIN77 EXEC QBM_PJobCreate_SQLDel @TableToDelete,78 @whereclause,79 @GenProcID,80 @AdditionalObjectKeysAffected,81 @isToFreezeOnError,82 @Retries,83 @priority,84 @Jobchainname,85 @StartAt,86 @BasisObjectKey,87 @XUser,88 @WhereClauseAdditional,89 @checkForExisting,90 @QueueName91 END92 END TRY93 BEGIN CATCH94 EXEC QBM_PSessionErrorAdd DEFAULT95 DECLARE @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow()96 RAISERROR(@Rethrow,97 18,98 1)99 WITH NOWAIT100 END CATCH101 ende:102 RETURN103END
Open raw exported source
1 create procedure QBM_PJobCreate_SQLDel_B (@TableToDelete varchar (30) , @whereclause nvarchar(max) , @GenProcID varchar(38) , @AdditionalObjectKeysAffected2 QBM_YParameterList readonly , @isToFreezeOnError bit = 0 , @Retries int = 0 , @priority int = 5 , @Jobchainname nvarchar(256) = null , @StartAt datetime3 = null , @BasisObjectKey varchar(138) = N'' , @XUser nvarchar(64) = null , @WhereClauseAdditional nvarchar(max) = '' , @checkForExisting bit = 0 , @QueueName4 nvarchar(256) = null ) as begin declare @XObjectKeysToDelete QBM_YParameterList declare @SQLCmd nvarchar(max) SET XACT_ABORT OFF BEGIN TRY if ISNULL5(@BasisObjectKey, '') = '' begin select top 1 @BasisObjectKey = dbo.QBM_FCVElementToObjectKey1('DialogTable', 'UID_DialogTable', t.UID_DialogTable) from6 DialogTable t where t.TableName = @TableToDelete end if not exists (select top 1 1 from DialogTable where TableName = @TableToDelete and IsDeactivatedByPreProcessor7 = 0 ) begin goto ende end if exists (select top 1 1 from DialogTable t with (readpast) join DialogColumn c with (readpast) on t.UID_DialogTable = c.UID_DialogTable8 where t.TableName = @TableToDelete and c.ColumnName = 'XObjectKey' ) begin select @SQLCmd = N'9 select XObjectKey 10 from ' + @TableToDelete + N'11 where ( '12 + @whereclause + N' )13 order by 1 ' insert into @XObjectKeysToDelete(Parameter1) exec sp_executeSQL @SQLCmd exec QBM_PJobCreate_SQLDel_L @TableToDelete14 , @XObjectKeysToDelete , @GenProcID , @AdditionalObjectKeysAffected , @isToFreezeOnError , @Retries , @priority , @Jobchainname , @StartAt , @BasisObjectKey15 , @XUser , @WhereClauseAdditional , @checkForExisting , @QueueName end else begin exec QBM_PJobCreate_SQLDel @TableToDelete , @whereclause , @GenProcID16 , @AdditionalObjectKeysAffected , @isToFreezeOnError , @Retries , @priority , @Jobchainname , @StartAt , @BasisObjectKey , @XUser , @WhereClauseAdditional17 , @checkForExisting , @QueueName end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow18() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH ende: return end 19