
У меня около 200 таблиц в базе данных SQL Server 2005. Почти в каждой таблице есть имя столбца "AAA", и я хочу установить FK для столбца A_ID в таблице tbl_AAA. Я хочу знать, как это сделать в 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 и выполнить его. Я сделал это навскидку, так что вы можете проверить/подправить/исправить в соответствии со своими потребностями.
Ваше здоровье