외래 키 관계 수정

적용 대상:SQL Server 2016(13.x) 이상Azure SQL DatabaseAzure SQL Managed Instance

SQL Server 또는 SQL Server Management Studio를 사용하여 Transact-SQL에서 관계의 외래 키 쪽을 수정할 수 있습니다. 테이블의 외래 키를 수정하면 주 키 테이블의 열과 관련된 열이 변경됩니다.

항목 내용

시작하기 전에

제한 사항

새 외래 키 열은 다음과 같은 예외를 제외하고 관련되는 기본 키 열의 데이터 형식 및 크기와 일치해야 합니다.

  • char 열 또는 sysname 열은 varchar 열에 연결될 수 있습니다.

  • binary 열은 varbinary 열에 연결될 수 있습니다.

  • 별칭 데이터 형식은 해당 기본 형식과 관련이 있습니다.

보안

사용 권한

테이블에 대한 ALTER 사용 권한이 필요합니다.

SQL Server Management Studio 사용

외래 키를 수정하려면 다음을 수행합니다.

  1. 개체 탐색기에서 외래 키가 있는 테이블을 확장한 다음, 를 확장합니다.

  2. 수정할 외래 키를 마우스 오른쪽 단추로 클릭하고 수정을 선택합니다.

  3. 외래 키 관계 대화 상자에서 다음과 같은 사항을 수정할 수 있습니다.

    선택한 관계
    기존 관계를 나열합니다. 오른쪽 표에 속성을 표시하려면 관계를 선택합니다. 목록이 비어 있는 경우 테이블에 정의된 관계가 없음을 의미합니다.

    추가
    새 관계를 만듭니다. 관계가 유효하기 전에 테이블 및 열 사양을 설정해야 합니다.

    Delete
    선택한 관계 목록에서 선택한 관계를 삭제합니다. 관계 추가를 취소하려면 이 버튼을 사용하여 관계를 제거합니다.

    일반 범주
    확장하여 만들거나 재사용할 때 기존 데이터 검사테이블 및 열 사양을 표시합니다.

    만들거나 재사용할 때 기존 데이터 검사
    제약 조건을 만들거나 재사용하도록 설정하기 전에 테이블에 있는 모든 기존 데이터를 제약 조건에 대해 확인합니다.

    테이블 및 열 사양 범주
    확장하여 관계에서 외래 키 및 기본(또는 고유) 키로 작동하는 테이블의 열을 표시합니다. 이러한 값을 편집하거나 정의하려면 속성 필드 오른쪽에 있는 줄임표 버튼(...)을 클릭합니다.

    외래 키 기본 테이블
    선택한 관계에서 외래 키로 사용되는 열이 포함된 테이블을 표시합니다.

    외래 키 열
    선택한 관계에서 외래 키로 사용되는 열을 표시합니다.

    기본/고유 키 기본 테이블
    선택한 관계에서 기본 키(또는 고유 키)로 사용되는 열이 포함된 테이블을 표시합니다.

    기본/고유 키 열
    선택한 관계에서 기본 키(또는 고유 키)로 사용되는 열을 표시합니다.

    ID 범주
    확장하여 이름설명에 대한 속성 필드를 표시합니다.

    이름
    관계의 이름을 표시합니다. 새 관계를 만들면 테이블 디자이너의 활성 창에 있는 테이블을 기반으로 기본 이름이 지정됩니다. 언제든지 이름을 변경할 수 있습니다.

    설명
    관계에 대해 설명합니다. 자세한 설명을 작성하려면 설명을 클릭한 다음, 속성 필드 오른쪽에 표시되는 줄임표(...)를 클릭합니다. 이렇게 하면 텍스트를 작성할 수 있는 더 큰 영역이 제공됩니다.

    테이블 디자이너 범주
    만들거나 재사용할 때 기존 데이터 검사복제에 적용에 대한 정보를 표시하려면 확장합니다.

    복제에 적용
    복제 에이전트가 이 테이블에서 삽입, 업데이트 또는 삭제를 수행할 때 제약 조건을 적용할지 여부를 나타냅니다.

    외래 키 제약 조건 적용
    변경 내용이 외래 키 관계의 무결성을 무효화하는 경우 관계의 열 데이터에 대한 변경이 허용되는지 여부를 지정합니다. 이러한 변경 내용을 허용하지 않으려면 를 선택하고 허용하려면 아니요를 선택합니다.

    INSERT 및 UPDATE 사양 범주
    확장하여 관계에 대한 삭제 규칙업데이트 규칙에 대한 정보를 표시합니다.

    삭제 규칙
    외래 키 관계를 맺고 있는 데이터가 포함된 행을 사용자가 삭제하려 할 때 적용할 결과를 지정합니다.

    • 작업 없음 오류 메시지는 삭제가 허용되지 않으며 DELETE가 롤백됨을 사용자에게 알려줍니다.

    • 계단식 배열 외래 키 관계에 관련된 데이터가 포함된 모든 행을 삭제합니다. 논리적 레코드를 사용하는 병합 게시에 테이블이 포함되는 경우 CASCADE를 지정하지 마세요.

    • Null 설정 테이블의 모든 외래 키 열이 null 값을 수락할 수 있는 경우 값을 null로 설정합니다.

    • 기본값 설정 테이블의 모든 외래 키 열에 기본값이 정의된 경우 값을 열에 대해 정의된 기본값으로 설정합니다.

    업데이트 규칙
    외래 키 관계를 맺고 있는 데이터가 포함된 행을 사용자가 업데이트하려 할 때 적용할 결과를 지정합니다.

    • 작업 없음 오류 메시지는 업데이트가 허용되지 않으며 UPDATE가 롤백됨을 사용자에게 알려줍니다.

    • 계단식 배열 외래 키 관계에 관련된 데이터를 포함하는 모든 행을 업데이트합니다. 논리적 레코드를 사용하는 병합 게시에 테이블이 포함되는 경우 CASCADE를 지정하지 마세요.

    • Null 설정 테이블의 모든 외래 키 열이 null 값을 수락할 수 있는 경우 값을 null로 설정합니다.

    • 기본값 설정 테이블의 모든 외래 키 열에 기본값이 정의된 경우 값을 열에 대해 정의된 기본값으로 설정합니다.

  4. 파일 메뉴에서 ‘테이블 이름’ 저장을 클릭합니다.

Transact-SQL 사용

외래 키를 수정하려면 다음을 수행합니다.

Transact-SQL을 사용하여 FOREIGN KEY 제약 조건을 수정하려면 먼저 기존 FOREIGN KEY 제약 조건을 삭제한 다음, 새로운 정의를 사용하여 다시 만들어야 합니다. 자세한 내용은 Delete Foreign Key RelationshipsCreate Foreign Key Relationships를 참조하세요.