Как установить FK для всех таблиц в SQL Server 2005?

Как установить FK для всех таблиц в SQL Server 2005?

У меня около 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 и выполнить его. Я сделал это навскидку, так что вы можете проверить/подправить/исправить в соответствии со своими потребностями.

Ваше здоровье

Связанный контент