我需要将一个列“CurrentLifeCycleId”[int]添加到73个表中,并将这个新列中的外键添加到另一个表“LifeCycle”Id列...有一个简单的方法我可以在一些陈述,而不是一个接一个地遍历每个表。
该列不需要开始为NULL,因为我会在开始之前删除这些表中的所有记录。
这是周末,我今天不想花这么多时间来做这件事:)
提前致谢。
答案 0 :(得分:1)
使用SQL构建脚本:
SELECT N'ALTER TABLE ' +quotename(name)+N' ADD COLUMN CurrentLifeCycleId (int) null;
alter table '+quotename(name)+N' ADD CONSTRAINT fk_LifeCycleId
(CurrentLifeCycleId ) references other_table (LifeCycleId);
'
FROM sys.tables where name in ('table1', 'table2', ..., 'table73');
按Ctrl-T将结果推送为文本,在SSMS中执行,选择结果并将其粘贴到新的查询窗口中。有很多方法(比如PowerShell),但这很简单直接。如果表格不同于架构,请确保将其添加到脚本输出中。
在运行脚本之前,请确保脚本正确无误:)