dbo.QBM_PColumnChangeDataType

SQL_STORED_PROCEDURE

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

Open formatted source/search result

Parameters

NameTypeOutput
@TableNamevarcharno
@ColumnNamevarcharno
@TypeDefNewnvarcharno
@ConvertFunctionnvarcharno

Referenced objects

SchemaObjectColumn/minorClass
DialogColumnOBJECT_OR_COLUMN
DialogTableOBJECT_OR_COLUMN
QBM_PColumnDropOBJECT_OR_COLUMN
QBM_PConstraintFKDropOBJECT_OR_COLUMN
QBM_PIndexDropOBJECT_OR_COLUMN
QBM_PSessionErrorAddOBJECT_OR_COLUMN
QBM_PTriggerDropOBJECT_OR_COLUMN
dboQBM_FCVSchemaDatatypeToInternOBJECT_OR_COLUMN
dboQBM_FGIColumnExistsInSchemaOBJECT_OR_COLUMN
dboQBM_FGISessionErrorRethrowOBJECT_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_PColumnChangeDataType (@TableName varchar(30) , @ColumnName varchar(30) , @TypeDefNew nvarchar(64) , @ConvertFunction
2 nvarchar(1000) = null  ) as begin declare @Cmd nvarchar(max) declare @DebugSwitch int = 0 declare @UID_DialogColumn varchar(38) declare @XUser nvarchar
3(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() SET XACT_ABORT OFF BEGIN TRY exec QBM_PTriggerDrop '%', @TableName exec QBM_PIndexDrop
4 @TableName, '%' exec QBM_PConstraintFKDrop @TableName, '%', '%' exec QBM_PConstraintFKDrop '%', '%', @TableName select @cmd = '
5exec sp_rename ''' + 
6@TableName + '.' + @ColumnName + ''', ''kannweg'', ''column''
7	' if @DebugSwitch > 0 begin print @cmd end exec sp_executesql @cmd select @Cmd = '
8alter table '
9 + @TableName + ' add ' + @ColumnName + ' ' + @TypeDefNew if @DebugSwitch > 0 begin print @cmd end exec sp_executesql @cmd select @Cmd = concat('
10	update '
11 , @TableName , ' set ' , @ColumnName , ' = ' , case when @ConvertFunction > ' ' then @ConvertFunction else 'kannweg' end , case when dbo.QBM_FGIColumnExistsInSchema
12(@TableName, 'XDateUpdated') = 1 and @ColumnName not like 'X[d,u][a,s][t,e][e,r]updated' then ', XDateUpdated = getutcdate(), XUserUpdated =  ''' + object_name
13(@@procid) + '''' else '' end ) if @DebugSwitch > 0 begin print @cmd end exec sp_executesql @cmd if @TypeDefNew in ('bit', 'int', 'real', 'float', 'bigint'
14) begin select @Cmd = concat( 'sp_bindefault ''DezimalNULL'', ''' , @TableName , '.' , @ColumnName , '''') exec sp_executesql @cmd end   exec QBM_PColumnDrop
15 @tablename, 'kannweg'  if not exists (select top 1 1 from sys.tables t where t.name = 'DialogColumn' ) begin goto endLabel end select top 1 @UID_DialogColumn
16 = c.UID_DialogColumn from DialogColumn c join DialogTable t on c.UID_DialogTable = t.UID_DialogTable where c.ColumnName = @ColumnName and t.TableName 
17= @TableName update DialogColumn set SchemaDataType = x.DATA_TYPE , SchemaDataLen = x.CHARACTER_MAXIMUM_LENGTH , Datatype = dbo.QBM_FCVSchemaDatatypeToIntern
18(x.DATA_TYPE, x.CHARACTER_MAXIMUM_LENGTH)  , XDateUpdated = @Xdate , XUserUpdated = @XUser from DialogColumn c join DialogTable t on c.UID_DialogTable 
19= t.UID_DialogTable join INFORMATION_SCHEMA.COLUMNS x on t.TableName = x.TABLE_NAME and c.ColumnName = x.COLUMN_NAME where ( isnull(SchemaDataType, '')
20 <> x.DATA_TYPE or isnull(schemaDataLen, 0) <> isnull(x.CHARACTER_MAXIMUM_LENGTH, 0) or isnull(Datatype, -1) = dbo.QBM_FCVSchemaDatatypeToIntern(x.DATA_TYPE
21, x.CHARACTER_MAXIMUM_LENGTH) ) and c.UID_DialogColumn = @UID_DialogColumn END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default declare @Rethrow varchar
22(1000) = dbo.QBM_FGISessionErrorRethrow() RAISERROR (@Rethrow, 18, 1) WITH NOWAIT END CATCH endLabel: return end 
23

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:14:10.243

has TRY/CATCH error handling

Summary: calls QBM_PTriggerDrop, QBM_PIndexDrop, QBM_PConstraintFKDrop, sp_rename, QBM_PColumnDrop…; writes UPDATE DialogColumn; reads/joins sys, DialogColumn, DialogTable, INFORMATION_SCHEMA

Declared parameters

ParameterTypeDirection
@TableNamevarchar(30)input
@ColumnNamevarchar(30)input
@TypeDefNewnvarchar(64)input
@ConvertFunctionnvarchar(1000)input

DML targets

UPDATE DialogColumn

Config/session

Config: None extracted.

Session: None extracted.

DBQueue/tasks

None extracted.

Temp tables / referenced variables

Temp: None extracted.

Variables: @TableName @ColumnName @TypeDefNew @ConvertFunction @Cmd @DebugSwitch @UID_DialogColumn @XUser @procid @Xdate @cmd @tablename @Rethrow

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.

No reverse dependencies extracted.