dbo.QBM_PTableReload

SQL_STORED_PROCEDURE

Created 2025-06-27T17:57:24.360 · modified 2026-04-14T23:20:27.270 · source: live DB sys.objects/sys.sql_expression_dependencies.

Open formatted source/search result

Parameters

NameTypeOutput
@TableNamevarcharno
@WithReplacebitno
@Genprocidvarcharno
@DiskStoreMovebitno

Referenced objects

SchemaObjectColumn/minorClass
DialogDatabaseOBJECT_OR_COLUMN
QBM_PConstraintFKDropOBJECT_OR_COLUMN
QBM_PDBQueueInsert_SingleOBJECT_OR_COLUMN
QBM_PExecuteSQLWithRetry_LLPOBJECT_OR_COLUMN
QBM_PFunctionDropOBJECT_OR_COLUMN
QBM_PJournalOBJECT_OR_COLUMN
QBM_PSessionErrorAddOBJECT_OR_COLUMN
QBM_PTriggerDropOBJECT_OR_COLUMN
QBM_PViewDropOBJECT_OR_COLUMN
QBM_VHeavyLoadTablesOBJECT_OR_COLUMN
QBM_VStartupTablesOBJECT_OR_COLUMN
QBM_VTablesReloadAbleOBJECT_OR_COLUMN
QBM_YCursorBufferTYPE
dboQBM_FCVStringToIndentOBJECT_OR_COLUMN
dboQBM_FGIDiskStoreExistingOBJECT_OR_COLUMN
dboQBM_FGIDiskStoreTargetOBJECT_OR_COLUMN
dboQBM_FSQColumnListOBJECT_OR_COLUMN
dboQBM_FSQIndexDef_iOBJECT_OR_COLUMN
dboQBM_FSQTableDefOBJECT_OR_COLUMN
dboQBM_FTSchemaDependenciesOBJECT_OR_COLUMN

Source excerpt

First extracted SQL definition lines from the exported source. Use the full source page for complete context.

Open full formatted source

1       create   procedure QBM_PTableReload (@TableName varchar(38) , @WithReplace bit  , @Genprocid varchar(38) = null , @DiskStoreMove bit = 0 
2 ) as begin declare @TableName_old varchar(30) = left('T'+ replace(newid(), '-', ''), 30) declare @SQLCmd nvarchar(max) declare @CreateCmd nvarchar(max
3) declare @InsertCmd nvarchar(max) declare @IndexesAndTriggers QBM_YCursorBuffer     declare @CodeType char(1) declare @CodeName varchar(30) declare @i
4 int declare @CountIndexesAndTriggers int declare @DebugSwitch int = 0 declare @DebugLevel char(1) = 'W' declare @Debugmessage nvarchar(1000) declare @Productionlevel
5 int SET XACT_ABORT OFF BEGIN TRY if @Genprocid is null begin select @Genprocid = NEWID() end if exists (select top 1 1 from sys.views v where v.name =
6 'QBM_VTablesReloadAble' ) begin if not exists (select top 1 1 from QBM_VTablesReloadAble v where v.TableName = @TableName ) begin goto endLabel end end
7 if  @DiskStoreMove = 0 begin if @TableName in ( select v.TableName from QBM_VHeavyLoadTables v where v.IsNoReload = 1 ) begin goto endLabel end end  select
8 top 1 @Productionlevel = db.ProductionLevel from DialogDatabase db with (readpast) where db.IsMainDatabase = 1 if @Productionlevel > 1 and @WithReplace
9 = 1  begin raiserror('#LDS#Replacement is not permitted in production environment|', 18, 1) with nowait goto EndLabel end if @DiskStoreMove = 0 and dbo.QBM_FGIDiskStoreExisting
10(@TableName) <> dbo.QBM_FGIDiskStoreTarget(@TableName) begin goto endlabel end if @DiskStoreMove = 1 and @TableName in (select TableName from QBM_VStartupTables
11 union select 'QBMDiskStoreLogical' union select 'QBMDiskStorePhysical' ) begin  goto endLabel end begin transaction  insert into @IndexesAndTriggers(ContentFull
12,Ident1 , Ident2 ) select dbo.QBM_FSQIndexDef_i (t.name, i.name, 1), 'I', left(i.name, 30) from sys.tables t join sys.indexes i on t.object_id = i.object_id
13 where t.name = @TableName and i.is_primary_key = 0 and i.is_hypothetical = 0  and i.type not in (3,4,5,6) select @CountIndexesAndTriggers = @@ROWCOUNT
14    insert into @IndexesAndTriggers(ContentFull, Ident1 , Ident2 ) select m.definition, 'T', left(tr.name, 30) from sys.tables t join sys.triggers tr on
15 t.object_id = tr.parent_id join sys.sql_modules m on m.object_id = tr.object_id where t.name = @TableName  and tr.name not like 'GEN[_]%'  and tr.name
16 != 'QBM_TUIndicator474488' select @CountIndexesAndTriggers += @@ROWCOUNT  insert into @IndexesAndTriggers(ContentFull, Ident1 , Ident2 ) select f.SourceCode
17, f.ObjectType, f.ObjectName from dbo.QBM_FTSchemaDependencies(@TableName, 1) f where f.ObjectType in ('F', 'V') select @CountIndexesAndTriggers += @@ROWCOUNT
18 select @i = 1 while @i <= @CountIndexesAndTriggers begin select top 1 @CodeType = i.Ident1  , @CodeName = i.Ident2  from @IndexesAndTriggers i where i.ElementIndex
19 = @i if @CodeType = 'F' begin if @DebugSwitch > 0 begin print 'dropping funct ' + @CodeName end  exec QBM_PFunctionDrop @CodeName end if @CodeType = 'V'
20 begin if @DebugSwitch > 0 begin print 'dropping view  ' + @CodeName end exec QBM_PViewDrop @CodeName end select @i += 1 end    exec QBM_PTriggerDrop '%'
21, @TableName , @CustomTriggerAlso = 1 exec QBM_PConstraintFKDrop @TableName , '%', '%' exec QBM_PConstraintFKDrop '%', '%', @TableName  select @CreateCmd
22 = dbo.QBM_FSQTableDef(@TableName ) select @InsertCmd = 'Insert into ' + @TableName + '
23				(
24		' + dbo.QBM_FCVStringToIndent( dbo.QBM_FSQColumnList(@TableName
25 , 0, 1), 4) + '
26				) 
27		select 
28		' + dbo.QBM_FCVStringToIndent( dbo.QBM_FSQColumnList(@TableName , @WithReplace, 1), 4) + '
29		from ' + @TableName_old
30 if @DebugSwitch > 0 begin print 'TableName ' + isnull(@TableName, '#') print '@TableName_old ' + isnull(@TableName_old, '#') end  exec sp_rename @TableName
31 , @TableName_old, 'object' if @DebugSwitch > 0 begin print @CreateCmd end exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @CreateCmd , @LockTimeout_ms
32 = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = @@PROCID , @HandleErrorSilent = 0  if @DebugSwitch > 0 begin print @Insertcmd end exec
33 QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @insertcmd , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = @@PROCID ,
34 @HandleErrorSilent = 0 if @DebugSwitch > 0 begin select i.ElementIndex, i.Ident2  from @IndexesAndTriggers i end  select @i = 1 while @i <= @CountIndexesAndTriggers
35 begin select top 1 @SQLCmd = i.ContentFull , @CodeType = i.Ident1  , @CodeName = i.Ident2  from @IndexesAndTriggers i where i.ElementIndex = @i if @DebugSwitch
36 > 0 begin print @CodeType + ' ' + @Codename end if @CodeType = 'T' begin   exec sp_executesql @sqlcmd end if @CodeType = 'I' begin exec sp_executesql 
37@sqlcmd end if @CodeType = 'F' begin exec sp_executesql @sqlcmd end if @CodeType = 'V' begin exec sp_executesql @sqlcmd end select @i += 1 end   select
38 @SQLCmd = 'drop table ' + @TableName_old if @DebugSwitch > 0 begin print @SQLCmd end exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @sqlcmd , @LockTimeout_ms
39 = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = @@PROCID , @HandleErrorSilent = 0 select @Debugmessage = 'reload table ' + @TableName
40 exec QBM_PJournal @debugmessage, @@procid, 'D', @DebugLevel commit transaction  exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate' , 'QBM-K-MakeConstraint'
41, '', @Genprocid exec QBM_PDBQueueInsert_Single 'QBM-K-CommonReCalculate' , 'QBM-K-CommonMakeRITrigger', '', @Genprocid exec QBM_PDBQueueInsert_Single 
42'QBM-K-CommonMakeWatchtrigger', @TableName , '', @Genprocid exec QBM_PDBQueueInsert_Single 'QBM-K-SetRowLockOnly', '', '', @Genprocid exec QBM_PDBQueueInsert_Single
43 'QBM-K-CommonReCalculate' , 'QBM-K-CommonRebuildView', '', @Genprocid END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default rollback transaction RAISERROR
44 ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end 
45

Module relation graph

Loading module relation graph…

Source-derived context

Generated from exported SQL module definitions plus read-only sandbox sys.objects/sys.parameters/sys.sql_expression_dependencies metadata. This is factual source evidence, not a semantic guess.

provenance: SQL definition export provenance: sandbox DB metadata modified: 2026-04-14T23:20:27.270

inserts DBQueue tasks has TRY/CATCH error handling

Summary: calls QBM_PFunctionDrop, QBM_PViewDrop, QBM_PTriggerDrop, QBM_PConstraintFKDrop, sp_rename…; writes INSERT into; reads/joins sys, QBM_VTablesReloadAble, QBM_VHeavyLoadTables, DialogDatabase, QBM_VStartupTables…

Declared parameters

ParameterTypeDirection
@TableNamevarchar(38)input
@WithReplacebitinput
@Genprocidvarchar(38)input
@DiskStoreMovebitinput

DML targets

INSERT into

Config/session

Config: None extracted.

Session: None extracted.

DBQueue/tasks

QBM-K-CommonReCalculate QBM-K-MakeConstraint QBM-K-CommonMakeRITrigger QBM-K-CommonMakeWatchtrigger QBM-K-SetRowLockOnly QBM-K-CommonRebuildView

Temp tables / referenced variables

Temp: #LDS #Replacement

Variables: @TableName @WithReplace @Genprocid @DiskStoreMove @TableName_old @SQLCmd @CreateCmd @InsertCmd @IndexesAndTriggers @CodeType @CodeName @i @CountIndexesAndTriggers @DebugSwitch @DebugLevel @Debugmessage @Productionlevel @ROWCOUNT @CustomTriggerAlso @SQLStatement @LockTimeout_ms @MaxWaitTimeForLock_s @ProcIDForJournal @PROCID @HandleErrorSilent @Insertcmd @insertcmd @Codename @sqlcmd @debugmessage @procid

Referenced by / reverse dependencies

Generated from live DB metadata, FK rows, and exported SQL dependency/source extraction. This is factual linkage evidence, not inferred behavior.

Referencing objectRelationEvidence
dbo.QBM_PTableMoveSQL expression dependencyOBJECT_OR_COLUMN
dbo.QBM_ZTableReloadSQL expression dependencyOBJECT_OR_COLUMN
dbo.QBM_ZTableReplaceSQL expression dependencyOBJECT_OR_COLUMN
dbo.QBM_PTableMovesource text referenceSQL_STORED_PROCEDURE
dbo.QBM_ZTableReloadsource text referencehas TRY/CATCH error handling
dbo.QBM_ZTableReplacesource text referencehas TRY/CATCH error handling