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