행위

"오라클 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 추천메뉴 바로가기


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 ;