SQL Server 2005의 모든 테이블에 FK를 설정하는 방법은 무엇입니까?

SQL Server 2005의 모든 테이블에 FK를 설정하는 방법은 무엇입니까?

SQL Server 2005 데이터베이스에는 약 200개의 테이블이 있습니다. 대부분의 테이블에는 tbl_AAA 테이블의 A_ID 열에 FK를 설정하려는 열 이름 "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에 붙여넣고 실행할 수 있습니다. 나는 머리 꼭대기에서 이 작업을 수행했으므로 필요에 따라 확인/조정/수정할 수 있습니다.

건배

관련 정보