728x90
1. 오라클 primary key(pk)와 인덱스pk(unique index) 차이
오라클 테이블 생성하면 PK에 자동으로 유니크 인덱스가 생성된다. PK는 null값을 허용하지 않지만 유니크 인덱스는 null이 인서트될 수 있다. pk는 테이블의 식별자로 중복과 null을 허용하면 안 되는 논리적인 개념을 가지고 있으므로 굳이 유니크인덱스만을 생성하여 pk로 대체할 이유는 없다. 정리하자면 pk를 지정하면 자동으로 unique index로 생성이 된다.
2.. 오라클 인덱스 컬럼 추가해서 다시 만들기
테이블에 이미 인덱스가 존재한다면 컬럼을 추가할 수 없고 DROP 한 뒤에 재생성해야 한다.
-- PK_GGOYODA 인덱스 삭제
DROP INDEX PK_GGOYODA;
-- TB_TEST 테이블에 유니크 인덱스 3개 생성
CREATE UNIQUE INDEX PK_GGOYODA ON TB_TEST
(COL1, COL2, COL3)
;
-- 유니크 인덱스를 PK로 설정
ALTER TABLE TB_TEST ADD (
CONSTRAINT PK_GGOYODA
PRIMARY KEY (COL1, COL2, COL3)
);
'Oracle' 카테고리의 다른 글
오라클 테이블 생성 삭제(DBeaber DDL 추출) (0) | 2024.07.01 |
---|---|
오라클 테이블 컬럼, 코멘트 추가 삭제 조회 (0) | 2024.06.25 |
오라클 코멘트 한 번에 복사하기(FROM DBLINK) (0) | 2024.06.17 |
오라클 테이블스페이스 용량 확인 tablespace size (0) | 2024.05.23 |
오라클 패키지 생성 CREATE OR REPLACE PACKAGE body (0) | 2024.05.23 |