[오라클12C,Oracle12C,SQL,identity,sequence]오라클12C 시퀀스,ID컬럼,GENERATED AS
IDENTITY
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
오라클자바커뮤니티에서 설립한 개발자교육6년차 오엔제이프로그래밍 실무교육센터
(오라클SQL,튜닝,힌트,자바프레임워크,안드로이드,아이폰,닷넷 실무개발강의)
[개강안내]오라클자바커뮤니티에서 운영하는 개발자 전문교육 ,개인80%환급(www.onjprogramming.co.kr)
[주말]
[10/5]자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
[10/5]SQL초보에서실전전문가까지
[평일야간]
[10/4]자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
[10/4]SQL초보에서실전전문가까지
[평일주간]
[10/8]스프링3.X게시판&오라클힌트,SQL튜닝,사례연구
[10/4]PL/SQL,오라클힌트,SQL튜닝,사례연구
[주말]
[10/5]자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
[10/5]SQL초보에서실전전문가까지
[평일야간]
[10/4]자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
[10/4]SQL초보에서실전전문가까지
[평일주간]
[10/8]스프링3.X게시판&오라클힌트,SQL튜닝,사례연구
[10/4]PL/SQL,오라클힌트,SQL튜닝,사례연구
댓글 없음:
댓글 쓰기