Back to OIM Explorer

dbo.QBM_PDialogColumnDelete

Stored ProcedureSQL_STORED_PROCEDURESandbox DB

Stored Procedure.

Source: sandbox-db sys.sql_modules

Source size: 2.026 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_FGISessionContext source text reference
  • references source dbo.QBM_FGISessionErrorRethrow source text reference
  • references source dbo.QBM_PJournal source text reference
  • references source dbo.QBM_PSessionContextSet source text reference
  • references source dbo.QBM_PSessionErrorAdd source text reference

Complete Source

SQL86 lines
1CREATE PROCEDURE QBM_PDialogColumnDelete(2  @TableName nvarchar(64),3  @GenProcID varchar(38) = ''4)5AS6BEGIN7  DECLARE @Columnname nvarchar(64)8  DECLARE @uid_dialogColumn varchar(38)9  DECLARE @msg nvarchar(1000)10  DECLARE @XUser nvarchar(64)11  DECLARE @XDate datetime12  DECLARE @uid_dialogTable varchar(38)13  DECLARE @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('')14  DECLARE @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext('XUser')15  DECLARE @DebugLevel char(1) = 'W'16  DECLARE @ElementBuffer QBM_YCursorBuffer17  DECLARE @ElementCount int18  DECLARE @ElementIndex int19  SET XACT_ABORT OFF20  BEGIN TRY21    IF isnull(@GenProcID,22    '') = ''23    BEGIN24      SELECT @GenProcID = @GenProcID_R25    END26    SELECT @XUser = @XUser_R27    SELECT @Xdate = getUTCDate()28    SELECT TOP 1 @uid_dialogTable = t.UID_DialogTable29    FROM DialogTable t30    WHERE31      t.TableName = @TableName32    INSERT INTO @ElementBuffer(UID1,33    Ident1)34    SELECT35      c.uid_dialogcolumn,36      c.Columnname37    FROM dialogcolumn c38    JOIN DialogTable t39      ON c.UID_DialogTable = t.UID_DialogTable40    LEFT41    OUTER42    JOIN QBM_VSchemaColumns ic43      ON t.TableName = ic.table_name AND c.columnname = ic.column_name44    WHERE45      ic.table_name IS NULL AND t.TableName = @TableName46    SELECT @ElementCount = @@ROWCOUNT47    SELECT @ElementIndex = 148    WHILE @ElementIndex <= @ElementCount49    BEGIN50      SELECT51        TOP 1 @uid_dialogColumn = bu.UID1,52        @Columnname = bu.Ident153      FROM @ElementBuffer bu54      WHERE55        bu.ElementIndex = @ElementIndex56      SELECT57        @msg = N 'Column in DialogColumn deleted : ' + @TableName + N '.' + @Columnname print @msg58      EXEC QBM_PJournal @msg,59        @@PROCID,60      'I',61        @DebugLevel62      EXEC QBM_PSessionContextSet 'GenProcID',63        @GenProcID64      EXEC QBM_PSessionContextSet 'XUser',65        @XUser66      DELETE DialogColumn67      WHERE68        uid_dialogColumn = @uid_dialogColumn69      SELECT @ElementIndex += 170    END71  END TRY72  BEGIN CATCH73    EXEC QBM_PSessionErrorAdd DEFAULT74    DECLARE @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow()75    RAISERROR(@Rethrow,76    18,77    1)78      WITH NOWAIT79  END CATCH80  ende:81  EXEC QBM_PSessionContextSet 'GenProcID',82    @GenProcID_R83  EXEC QBM_PSessionContextSet 'XUser',84    @XUser_R85  RETURN86END
Open raw exported source
SQL ยท Raw15 lines
1    create   procedure QBM_PDialogColumnDelete( @TableName nvarchar(64), @GenProcID varchar(38) = '' ) as begin  declare @Columnname nvarchar(642) declare @uid_dialogColumn varchar(38) declare @msg nvarchar(1000) declare @XUser nvarchar(64) declare @XDate datetime  declare @uid_dialogTable varchar3(38)  declare @GenProcID_R varchar(38) = dbo.QBM_FGISessionContext('') declare @XUser_R nvarchar(64) = dbo.QBM_FGISessionContext('XUser') declare @DebugLevel4 char(1) = 'W' declare @ElementBuffer QBM_YCursorBuffer declare @ElementCount int declare @ElementIndex int SET XACT_ABORT OFF BEGIN TRY if isnull(@GenProcID5, '') = '' begin select @GenProcID = @GenProcID_R end select @XUser = @XUser_R select @Xdate = getUTCDate() select top 1 @uid_dialogTable = t.UID_DialogTable6 from DialogTable t where t.TableName = @TableName  insert into @ElementBuffer (UID1, Ident1) select c.uid_dialogcolumn , c.Columnname from dialogcolumn7 c join DialogTable t on c.UID_DialogTable = t.UID_DialogTable left outer join QBM_VSchemaColumns ic on t.TableName = ic.table_name and c.columnname = 8ic.column_name where ic.table_name is null and t.TableName = @TableName select @ElementCount = @@ROWCOUNT select @ElementIndex = 1 while @ElementIndex 9<= @ElementCount begin select top 1 @uid_dialogColumn = bu.UID1 , @Columnname = bu.Ident1 from @ElementBuffer bu where bu.ElementIndex = @ElementIndex 10select @msg = N'Column in DialogColumn deleted : ' + @TableName + N'.' + @Columnname print @msg exec QBM_PJournal @msg, @@PROCID, 'I', @DebugLevel exec11 QBM_PSessionContextSet 'GenProcID', @GenProcID exec QBM_PSessionContextSet 'XUser', @XUser delete DialogColumn where uid_dialogColumn = @uid_dialogColumn12 select @ElementIndex += 1 end  END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar(1000) = dbo.QBM_FGISessionErrorRethrow()13 RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH  ende: exec QBM_PSessionContextSet 'GenProcID', @GenProcID_R exec QBM_PSessionContextSet 'XUser', @XUser_R14 return end 15