300 列を超える大きなテーブルを動的にトリミングする方法。このコードを試したとき、変数@sqlがnvarchar(max)であり、300列ほどあるため、エラーが発生しました。このクエリを実行すると、すべての列名が表示されませんでした?
DECLARE @SQL nVARCHAR(MAX)
DECLARE @TableName NVARCHAR(128)
SET @TableName = 'MYTAbleName'
SELECT @SQL = COALESCE(@SQL + ',[', '[') +
COLUMN_NAME + ']=LTRIM(RTRIM([' + COLUMN_NAME + ']))'
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = @TableName
SET @SQL = 'UPDATE [' + @TableName + '] SET ' + @SQL
PRINT @SQL
EXECUTE @SQL