如何在 SQL Server 2005 中将 FK 设置为所有表?

如何在 SQL Server 2005 中将 FK 设置为所有表?

我在 SQL Server 2005 数据库中有大约 200 个表。几乎所有表的列名都是“AAA”,我想将其 FK 设置为表 tbl_AAA 中的列 A_ID。我想知道如何在 SQL Server 2005 中执行此操作?

答案1

您可以使用系统视图“INFORMATION_SCHEMA.COLUMNS”并建立一个查询,该查询将产生执行任务所需的 DDL 语句。

SELECT 
    'ALTER TABLE ' 
    + TABLE_NAME
    + ' ADD FOREIGN KEY (' 
    + COLUMN_NAME 
    + ') REFERENCES tbl_AAA(AAA);'
FROM 
    INFORMATION_SCHEMA.COLUMNS
WHERE 
    COLUMN_NAME = 'AAA' 
    AND TABLE_NAME <> 'tbl_AAA';

您可以将此输出粘贴到 SSMS 并执行它。我已经完成了这个,所以您可能需要检查/调整/更正以满足您的需求。

干杯

相关内容