Como definir FK para todas as tabelas no SQL Server 2005?

Como definir FK para todas as tabelas no SQL Server 2005?

Tenho cerca de 200 tabelas no banco de dados SQL Server 2005. Quase tabelas têm o nome de coluna "AAA" que desejo definir FK para a coluna A_ID na tabela tbl_AAA. Quero saber como posso fazer isso no SQL Server 2005?

Responder1

Você pode usar a visualização do sistema "INFORMATION_SCHEMA.COLUMNS" e criar uma consulta que resultará na instrução DDL necessária para realizar a tarefa.

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';

Você pode colar a saída disso no SSMS e executá-la. Eu fiz isso de cabeça, então você pode querer verificar/ajustar/corrigir para atender às suas necessidades.

Saúde

informação relacionada