[오라클12C,Oracle12C,SQL,identity,sequence]오라클12C 시퀀스,ID컬럼,GENERATED AS
IDENTITY,오라클12시퀀스예제,실무오라클교육기관,개발자실무교육,재직자환급
oracle12c generated as identity란?
데이터베이스 테이블의 숫자로 된 unique key컬럼의 경우 기존 시쿼스등을 이용하여 자동증분 하게 했지만
오라클12C에서부터는 generated as identity로 정의하여 사용이 가능하다.
오라클12C에서부터는 generated as identity로 정의하여 사용이 가능하다.
1. 먼저 기존 시퀀스를 이용한 방법을 보자.
SQL>create sequence emp_seq increment by 1 start with 1;
테이블 구조는 다음과 같다.
create table emp
(emp_no number,
ename varchar2(20));
(emp_no number,
ename varchar2(20));
insert문에서는 다음과 같이 사용했다.
SQL>Insert into emp values (emp_seq.nextval, ‘홍길동’);
2. 이번에는 GENERATED AS IDENTITY 를 이용해보자.
테이블 만들 때 정의하면 된다.
create table emp
(emp_no number generated as identity ,
ename varchar2(20));
(emp_no number generated as identity ,
ename varchar2(20));
insert문장은 다음처럼 사용!
Insert into emp values (‘홍길동’);
만약 GENERATED AS IDENTITY로 선언한 컬럼에 값을 주면 아래와 같은 오류가 발생한다.
insert into emp values (1,'홍길동');
insert into test values (1,'홍길동')
*
ERROR at line 1:
ORA-32795: cannot insert into a generated always identity column
댓글 없음:
댓글 쓰기