
Ich habe etwa 200 Tabellen in der SQL Server 2005-Datenbank. Fast alle Tabellen haben den Spaltennamen „AAA“, und ich möchte FK auf die Spalte A_ID in der Tabelle tbl_AAA setzen. Ich möchte wissen, wie ich das in SQL Server 2005 machen kann.
Antwort1
Sie können die Systemansicht „INFORMATION_SCHEMA.COLUMNS“ verwenden und eine Abfrage erstellen, die die zur Ausführung der Aufgabe erforderliche DDL-Anweisung ergibt.
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';
Sie können die Ausgabe in SSMS einfügen und ausführen. Ich habe das aus dem Stegreif gemacht, Sie können es also überprüfen/anpassen/korrigieren, um es Ihren Bedürfnissen anzupassen.
Prost