[오라클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
오라클자바커뮤니티에서 운영하는 개발자 전문교육 ,개인80%환급(www.onjprogramming.co.kr)
[주간]
[11/13]SQL초보에서실전전문가까지
[11/13]안드로이드개발자과정
[11/18]Spring3.X, MyBatis, Hibernate실무과정
[11/18]iPhone 하이브리드 앱 개발 실무과정
[평일야간]
[11/08]C#,ASP.NET마스터
[11/08]Spring3.X, MyBatis, Hibernate실무과정
[11/12]iPhone 하이브리드 앱 개발 실무과정
[11/14]JAVA&WEB프레임워크실무과정
[주말]
[11/09]C#,ASP.NET마스터
[11/09]JAVA&WEB프레임워크실무과정
[11/09]Spring3.X, MyBatis, Hibernate실무과정
[11/09]웹퍼블리싱 마스터
[11/16]PL/SQL,오라클힌트,SQL튜닝,사례연구
[11/16]ASP.NET4.0 MVC 프로그래밍
댓글 없음:
댓글 쓰기