0

テーブル全体を0[ゼロ]に更新するのに助けが必要です。値はNULLです。各列を個別に表示せずに。

4

1 に答える 1

1

これを行うことができます。最初にINFORMATION_SCHEMAまたは他の場所からすべての列名を抽出し、SQLを文字列にビルドしてから、それを実行する必要があります。

USE MyDatabase
DECLARE @TableName NVARCHAR(100)
SELECT @TableName = 'MyTable'

DECLARE @Sql NVARCHAR(4000) 
    SELECT @Sql = COALESCE(@Sql + '; ', '')
        + 'UPDATE dbo.'
        + @TableName
        + ' SET '
        + COLUMN_NAME
        + ' = 0 WHERE '
        + COLUMN_NAME
        + ' IS NULL'
    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE TABLE_NAME = @TableName
        AND IS_NULLABLE = 'YES'
        AND DATA_TYPE NOT IN ('text','ntext','image')

SELECT @Sql
EXEC(@Sql)

必ず設定MyDatabaseし、MyTableそれに応じて

于 2012-09-20T20:43:41.847 に答える