
SQL Server 2005 データベースには約 200 個のテーブルがあります。ほとんどのテーブルには列名 "AAA" があり、これをテーブル tbl_AAA の列 A_ID に FK を設定する必要があります。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 に貼り付けて実行できます。これは思いつきで実行しただけなので、必要に応じて確認/調整/修正してください。
乾杯