テーブル全体を0[ゼロ]に更新するのに助けが必要です。値はNULLです。各列を個別に表示せずに。
質問する
222 次
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 に答える