このリンクは、私の問題に対する答えの一部を見つけた場所です。
サイモンが投稿した
「ボスになりなさい。次のように書いてください。
select 'update ' + table_name + ' set [' + column_name + '] = '''' where [' + column_name + '] is null'
from tempdb.information_schema.columns
where table_name = 'YourTableName'
それはあなたのために大きな古いクエリを吐き出します. どういたしまして"
しかし、パラメーターで結果セットを使用し、すべての更新ステートメントを実行する方法があるかどうかを知りたいです。私はこのようなことを試しました
DECLARE @sql2 AS NVARCHAR(MAX) = N'
SELECT ''UPDATE '' + table_name + '' SET ['' + column_name + ''] = '''''''' WHERE ['' + column_name + ''] IS NULL''
FROM tempdb.information_schema.columns
WHERE table_name = ''##tempF'''
EXEC sp_executesql @stmt = @sql2;
DECLARE @sql3 AS NVARCHAR(MAX);
SET @sql3 = (SELECT @sql2);
EXEC sp_executesql @stmt = @sql3;
ただし、以下にリストされているような 2 つの結果セット:
UPDATE ##tempF SET [claimid] = '' WHERE [claimid] IS NULL
UPDATE ##tempF SET [hdr_status] = '' WHERE [hdr_status] IS NULL
UPDATE ##tempF SET [memid] = '' WHERE [memid] IS NULL
皆様、どうもありがとうございました。乾杯!ティム