如何以可以对它们执行 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
谢谢。