codememo

Oracle의 열 조합에 고유한 제약을 가하려면 어떻게 해야 합니까?

tipmemo 2023. 2. 16. 21:44
반응형

Oracle의 열 조합에 고유한 제약을 가하려면 어떻게 해야 합니까?

4개의 컬럼이 있는 테이블이 있습니다.

각 열은 A, B, C, D가 됩니다.

열 A가 기본 키입니다.열 B에는 고유한 이름 제약 조건이 있습니다.

이제 열 B에 대한 고유한 구속조건을 제거하고 열 B, C 및 D를 결합하여 고유한 구속조건을 부여합니다.따라서 테이블에서는 B, C 및 D 열에 특정 값을 가진 행 하나만 사용할 수 있습니다.

어떻게 하면 이런 제약을 줄 수 있을까요?

다음과 같은 복합 고유 키를 지정하려고 했습니다.

ALTER TABLE TABLENAME ADD CONSTRAINT CONSTRAINT_NAME UNIQUE (COLUMN_B, COLUMN_C, COLUMN_D)

그러나 고유한 키 제약 조건의 조합을 확인하는 것이 아니라 제약 조건 중 하나가 존재하는지 여부를 확인하는 것입니다.

해당 열에 고유 키 생성

ALTER TABLE YourTable
  add CONSTRAINT YourTable_unique UNIQUE (B, C, D);

Oracle/PLSQL: 고유 제약 사항

먼저 아래의 ALTER 쿼리를 사용하여 기존 제약조건을 삭제해야 합니다.

ALTER TABLE table_name
   DROP CONSTRAINT myUniqueConstraint;

이제 UNIQURE 키워드를 필수 Columns 조합과 함께 사용하여 UNIQURE 구속조건을 작성할 수 있습니다.

예:

ALTER TABLE table_name
   ADD CONSTRAINT myUniqueConstraint UNIQUE(B, C, D);

UNIQURE 구속조건에 대한 자세한 내용은 여기를 참조하십시오.

ALTER TABLE_name DROP 제약조건_name;

Table_name에 고유 인덱스 제약 조건 생성(B,C,D)

언급URL : https://stackoverflow.com/questions/17343516/how-to-give-a-unique-constraint-to-a-combination-of-columns-in-oracle

반응형