テーブルに対して DML を実行できるように、データベースをテーブルに対して列挙するにはどうすればよいでしょうか? 単一のステートメントからテーブル名を取得することはすでに完了しています。
SELECT TABLE_NAME FROM MyDB.INFORMATION_SCHEMA.TABLES;
ほとんどのテーブルには同じ名前の特別なフィールドがあり、テーブルの列挙を通じてすべてを同じ値に更新したいと考えています。データベースの構造は、更新の伝播に参照整合性を使用できない方法であり、これは手動で更新する特別なケースです。それらの共通フィールドをループして更新する方法がわかりません。また、SpecialField を持たないテーブルに対して try-catch ブロックを指定しました。など:
declare @i int =0;
While(@i < MyDB.INFORMATION_SCHEMA.TABLES.length)
begin
begin try
Update MyDB.INFORMATION_SCHEMA.TABLES[i] set SpecialField= SomeValue;
end try
begin catch end catch
set @i=@i+1;
end
ありがとう。