외래 키 값 변경 - oelae ki gabs byeongyeong

주요 콘텐츠로 건너뛰기

이 브라우저는 더 이상 지원되지 않습니다.

최신 기능, 보안 업데이트, 기술 지원을 이용하려면 Microsoft Edge로 업그레이드하세요.

외래 키 관계 수정

  • 아티클
  • 09/26/2022
  • 읽는 데 8분 걸림

이 문서의 내용

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

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

항목 내용

  • 시작하기 전 주의 사항:

    제한 사항

    보안

  • 외래 키를 수정하려면:

    SQL Server Management Studio

    Transact-SQL

시작하기 전에

제한 사항

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

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

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

  • 별칭 데이터 형식은 해당 기본 형식에 연결될 수 있습니다.

보안

사용 권한

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

SQL Server Management Studio 사용

외래 키를 수정하려면

  1. 개체 탐색기에서 외래 키를 포함하는 테이블을 확장하고 를 확장합니다.

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

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

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

    추가
    새 관계를 만듭니다. 관계를 유효하게 만들려면 테이블 및 열 사양 을 먼저 설정해야 합니다.

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

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

    만들거나 다시 활성화할 때 기존 데이터 검사
    제약 조건을 만들거나 다시 활성화하기 전부터 테이블에 있던 모든 데이터를 제약 조건에 대해 검사합니다.

    테이블 및 열 사양 범주
    확장하여 어떠한 테이블의 어떠한 열이 관계에서 외래 키와 기본 키(또는 고유 키)로 사용되는지에 대한 정보를 표시합니다. 이러한 값을 편집하거나 정의하려면 속성 필드의 오른쪽에 있는 줄임표 단추( ... )를 클릭합니다.

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

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

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

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

    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 Relationships 및 Create Foreign Key Relationships를 참조하세요.