0

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
4

1 に答える 1