我正在尝试动态创建代码以将列定义更改为字段的最大长度。
请注意,数据库的内容不会改变。
这是我到目前为止所拥有的,但我不能单独执行最大长度查询来获取一个数字。我哪里错了?
问候。
DECLARE @SQL_STMT VARCHAR(MAX) = ''
SELECT @SQL_STMT = @SQL_STMT
+ '''ALTER TABLE '
+ TABLE_NAME
+ ' ALTER COLUMN '
+ COLUMN_NAME
+ ' '
+ DATA_TYPE
+ '('' SELECT MAX(LEN('
+ COLUMN_NAME
+ ')) FROM '
+ TABLE_NAME
+ ''') ''
'
FROM INFORMATION_SCHEMA.COLUMNS
WHERE DATA_TYPE = 'varchar'
PRINT(@SQL_STMT)