행위

오라클 PK 생성

DB CAFE

1 PK 인덱스 삭제

-- 제약 조건 삭제 후 
ALTER TABLE TBA.TB_SM_XXX DROP CONSTRAINT PK_SM_XXX ; 
-- PK 인덱스 삭제 
DROP INDEX TBA.PK_SM_XXX ;



2 PK 인덱스 생성


2.1 (방법1) 테이블 생성 시 제약 조건 생성

SQL> CREATE TABLE TEST1( COL1 NUMBER
                       , COL2 NUMBER
                       , CONSTRAINT PK_TEST1 PRIMARY KEY(COL1)
                       );
Table created.

2.2 (방법2) 유니크 인덱스 생성 후 PK로 지정

2.2.1 유니크 인덱스 생성

SQL> CREATE UNIQUE INDEX PK_TEST1 ON TEST1(COL1);
Index created.

2.2.2 제약조건으로 PK 인덱스 변경

SQL> ALTER TABLE TEST1 ADD CONSTRAINTS PK_TEST1 PRIMARY KEY(COL1);

2.3 ALTER TABLE .. ADD PRIMARY KEY 명령

  • PK명은 SYS***으로 생성됨
ALTER TABLE TEST_TABLE 
        ADD PRIMARY KEY (USER_ID,,);
  1. USING INDEX 사용에 따른 인덱스 생성 여부
  2. 해당 컬럼으로 미리 만들어 둔 인덱스가 없는 경우 : CONSTRAINT 명칭과 동일한 이름으로 인덱스 자동 생성 됨
  3. 해당 컬럼으로 미리 만들어 둔 인덱스가 있는 경우 : 해당 인덱스를 이용함, 별도 인덱스 생성 안함