반응형
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);
먼저 아래의 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
반응형
'codememo' 카테고리의 다른 글
| 폼 제출 시 모든 폼 필드를 ng-touched로 프로그래밍 방식으로 설정 (0) | 2023.02.16 |
|---|---|
| Javascript용 밑줄을 사용하여 중복 개체 제거 (0) | 2023.02.16 |
| AngularJS 드롭다운 필수 유효성 검사 (0) | 2023.02.16 |
| angularjs의 ng-bind 필터를 사용한 후 텍스트 추가 (0) | 2023.02.16 |
| "청취자가 true를 반환하여 비동기 응답을 나타냈지만 응답이 수신되기 전에 메시지 채널이 닫혔습니다." 무슨 의미입니까? (0) | 2023.02.12 |