如何為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 中並執行它。我已經完成了這個工作,因此您可能需要檢查/調整/更正以滿足您的需求。

乾杯

相關內容