"오라클 PK 생성"의 두 판 사이의 차이
DB CAFE
(→PK 인덱스 생성) |
|||
1번째 줄: | 1번째 줄: | ||
− | = PK 인덱스 생성 = | + | == PK 인덱스 생성 == |
---- | ---- | ||
− | == 테이블 생성시 지정 == | + | === 테이블 생성시 지정 === |
<source lang=sql> | <source lang=sql> | ||
SQL> CREATE TABLE TEST1( COL1 NUMBER | SQL> CREATE TABLE TEST1( COL1 NUMBER | ||
10번째 줄: | 10번째 줄: | ||
</source> | </source> | ||
---- | ---- | ||
− | == 유니크 인덱스 생성 후 PK로 지정 == | + | === 유니크 인덱스 생성 후 PK로 지정 === |
− | === 유니크 인덱스 생성 === | + | ==== 유니크 인덱스 생성 ==== |
<source lang=sql> | <source lang=sql> | ||
SQL> CREATE UNIQUE INDEX PK_TEST1 ON TEST1(COL1); | SQL> CREATE UNIQUE INDEX PK_TEST1 ON TEST1(COL1); | ||
Index created. | Index created. | ||
</source> | </source> | ||
− | === PK 인덱스로 변경 === | + | ==== PK 인덱스로 변경 ==== |
<source lang=sql> | <source lang=sql> | ||
SQL> ALTER TABLE TEST1 ADD CONSTRAINTS PK_TEST1 PRIMARY KEY(COL1); | SQL> ALTER TABLE TEST1 ADD CONSTRAINTS PK_TEST1 PRIMARY KEY(COL1); | ||
</source> | </source> | ||
---- | ---- | ||
− | == ALTER TABLE .. ADD CONSTRAINT 명령 == | + | ==== ALTER TABLE .. ADD CONSTRAINT 명령 ==== |
* 제약 조건명 PK_TEST_TABLE로 하고 해당 제약 조건을 PK 컬럼 지정 | * 제약 조건명 PK_TEST_TABLE로 하고 해당 제약 조건을 PK 컬럼 지정 | ||
<SOURCE LANG=SQL> | <SOURCE LANG=SQL> | ||
28번째 줄: | 28번째 줄: | ||
</SOURCE> | </SOURCE> | ||
---- | ---- | ||
− | == ALTER TABLE .. ADD PRIMARY KEY 명령 == | + | === ALTER TABLE .. ADD PRIMARY KEY 명령 === |
* PK명은 SYS***으로 생성됨 | * PK명은 SYS***으로 생성됨 | ||
<SOURCE LANG=SQL> | <SOURCE LANG=SQL> | ||
38번째 줄: | 38번째 줄: | ||
-- 해당 컬럼으로 미리 만들어 둔 인덱스가 없는 경우 : CONSTRAINT 명칭과 동일한 이름으로 인덱스 자동 생성 됨 | -- 해당 컬럼으로 미리 만들어 둔 인덱스가 없는 경우 : CONSTRAINT 명칭과 동일한 이름으로 인덱스 자동 생성 됨 | ||
-- 해당 컬럼으로 미리 만들어 둔 인덱스가 있는 경우 : 해당 인덱스를 이용함, 별도 인덱스 생성 안함 | -- 해당 컬럼으로 미리 만들어 둔 인덱스가 있는 경우 : 해당 인덱스를 이용함, 별도 인덱스 생성 안함 | ||
+ | |||
+ | == PK 인덱스 삭제 == | ||
+ | <SOURCE LANG=SQL> | ||
+ | -- 제약 조건 삭제 후 | ||
+ | ALTER TABLE TBA.TB_SM_XXX DROP CONSTRAINT PK_SM_XXX ; | ||
+ | -- PK 인덱스 삭제 | ||
+ | DROP INDEX TBA.TB_SM_XXX ; | ||
+ | </SOURCE> | ||
+ | |||
+ | |||
[[Category:oracle]] | [[Category:oracle]] |
2021년 3월 12일 (금) 16:09 판
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
목차
1 PK 인덱스 생성[편집]
1.1 테이블 생성시 지정[편집]
SQL> CREATE TABLE TEST1( COL1 NUMBER
, COL2 NUMBER
, CONSTRAINT PK_TEST1 PRIMARY KEY(COL1)
);
Table created.
1.2 유니크 인덱스 생성 후 PK로 지정[편집]
1.2.1 유니크 인덱스 생성[편집]
SQL> CREATE UNIQUE INDEX PK_TEST1 ON TEST1(COL1);
Index created.
1.2.2 PK 인덱스로 변경[편집]
SQL> ALTER TABLE TEST1 ADD CONSTRAINTS PK_TEST1 PRIMARY KEY(COL1);
1.2.3 ALTER TABLE .. ADD CONSTRAINT 명령[편집]
- 제약 조건명 PK_TEST_TABLE로 하고 해당 제약 조건을 PK 컬럼 지정
ALTER TABLE TEST_TABLE
ADD CONSTRAINT PK_TEST_TABLE PRIMARY KEY (USER_ID,,);
1.3 ALTER TABLE .. ADD PRIMARY KEY 명령[편집]
- PK명은 SYS***으로 생성됨
ALTER TABLE TEST_TABLE
ADD PRIMARY KEY (USER_ID,,);
-- USING INDEX 사용에 따른 인덱스 생성 여부 -- 해당 컬럼으로 미리 만들어 둔 인덱스가 없는 경우 : CONSTRAINT 명칭과 동일한 이름으로 인덱스 자동 생성 됨 -- 해당 컬럼으로 미리 만들어 둔 인덱스가 있는 경우 : 해당 인덱스를 이용함, 별도 인덱스 생성 안함
2 PK 인덱스 삭제[편집]
-- 제약 조건 삭제 후
ALTER TABLE TBA.TB_SM_XXX DROP CONSTRAINT PK_SM_XXX ;
-- PK 인덱스 삭제
DROP INDEX TBA.TB_SM_XXX ;