프린트 하기

내맘대로긍정이 알려주는

Oracle 23ai 신기능
무료 세미나 발표자료

다운로드 trending_flat

OS환경 : Oracle Linux6.8(64bit)


DB 환경 : Oracle Database 11.2.0.4


방법 : Oracle Primary Keys 설정

오라클 primary key 란?

테이블의 유일성을 보장하기 위한 제약조건이고 하나의 테이블에는 하나의 기본키만 가질 수 있음

기본키의 일부인 컬럼에는 널(NULL)값을 포함 할 수 없음


Oracle에서 기본키는 32개 이상의 컬럼을 포함 할 수 없음

기본 키는 CREATE TABLE 문 또는 ALTER TABLE 문으로 만들수 있음


1. PK 생성 - CREATE TABLE 문 사용

CREATE TABLE 문으로 Oracle에서 기본 키를 생성할 수 있음


Oracle / PLSQL에서 CREATE TABLE 문을 사용하여 기본 키를 만드는 구문

1
2
3
4
5
6
7
8
CREATE TABLE table_name
(
  column1 datatype null/not null,
  column2 datatype null/not null,
  ...
 
  CONSTRAINT constraint_name PRIMARY KEY (column1, column2, ... column_n)
);


예제

1
2
3
4
5
6
7
CREATE TABLE supplier
(
  supplier_id numeric(10not null,
  supplier_name varchar2(50not null,
  contact_name varchar2(50),
  CONSTRAINT supplier_pk PRIMARY KEY (supplier_id)
);

이 예제에서는 supplier_pk라는 기본 키를 만들었고 supplier_id 단일 컬럼으로 구성됨


아래 예제와 같이 하나 이상의 컬럼이 있는 기본 키를 만들 수도 있음(다중 컬럼)

1
2
3
4
5
6
7
CREATE TABLE supplier
(
  supplier_id numeric(10not null,
  supplier_name varchar2(50not null,
  contact_name varchar2(50),
  CONSTRAINT supplier_pk PRIMARY KEY (supplier_id, supplier_name)
);



2. PK 생성 - ALTER TABLE 문 사용

ALTER TABLE 문으로 Oracle에서 기본 키를 생성할 수 있음


Oracle / PLSQL에서 ALTER TABLE 문을 사용하여 기본 키를 만드는 구문

1
2
ALTER TABLE table_name
ADD CONSTRAINT constraint_name PRIMARY KEY (column1, column2, ... column_n);


예제

1
2
ALTER TABLE supplier
ADD CONSTRAINT supplier_pk PRIMARY KEY (supplier_id);

이 예제에서는 supplier_pk라는 기본 키를 만들었고 supplier_id라는 단일 컬럼로 구성됨


아래 예제와 같이 하나 이상의 컬럼이 있는 기본 키를 만들 수도 있음

1
2
ALTER TABLE supplier
ADD CONSTRAINT supplier_pk PRIMARY KEY (supplier_id, supplier_name);



3. PK 삭제

ALTER TABLE 문을 사용하여 Oracle에서 기본 키를 삭제할 수 있음


Oracle / PLSQL에서 ALTER TABLE 문을 사용하여 기본 키를 삭제하는 구문

1
2
ALTER TABLE table_name
DROP CONSTRAINT constraint_name;


예제

1
2
ALTER TABLE supplier
DROP CONSTRAINT supplier_pk;

이 예제에서는 supplier_pk라는 기본 키를 삭제함



4. PK 비활성화

ALTER TABLE 문을 사용하여 Oracle에서 기본 키를 비활성화 할 수 있음


Oracle / PLSQL에서 ALTER TABLE 문을 사용하여 기본 키를 비활성화하는 구문

1
2
ALTER TABLE table_name
DISABLE CONSTRAINT constraint_name;


예제

1
2
ALTER TABLE supplier
DISABLE CONSTRAINT supplier_pk;

이 예제에서는 supplier_pk라는 기본 키를 사용하지 않도록 설정함



5. PK 활성화

ALTER TABLE 문을 사용하여 Oracle에서 기본 키를 사용할 수 있음


Oracle / PLSQL에서 ALTER TABLE 문을 사용하여 기본 키를 활성화하는 구문

1
2
ALTER TABLE table_name
ENABLE CONSTRAINT constraint_name;


예제

1
2
ALTER TABLE supplier
ENABLE CONSTRAINT supplier_pk;

이 예제에서는 supplier_pk라는 기본 키를 사용하도록 설정함



참조 : https://www.techonthenet.com/oracle/primary_keys.php