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/25]Spring3.X, MyBatis, Hibernate실무과정
[11/25]초보자를위한실전SQL
[11/25]안드로이드개발자과정
[11/25]iPhone 하이브리드 앱 개발 실무과정
[평일야간]
[11/22]자바초보에서안드로이드까지
[11/26]JAVA&WEB프레임워자실무과정
[11/26]iPhone하이브리드앱개발실무과정
[11/26]웹퍼블리싱 마스터
[11/27]SQL초보에서실전전문가까지
[11/28]Spring3.X, MyBatis, Hibernate실무과정
[주말]
[11/23]JAVA&WEB프레임워크실무과정
[11/23]웹퍼블리싱 마스터
[11/23]C#,ASP.NET마스터
[11/30]SQL초보에서전문가까지
[11/30]Spring3.X,MyBatis,Hibernate실무과정
오라클자바커뮤니티에서 운영하는 개발자 전문교육 ,개인80%환급(www.onjprogramming.co.kr)
[주간]
[11/25]Spring3.X, MyBatis, Hibernate실무과정
[11/25]초보자를위한실전SQL
[11/25]안드로이드개발자과정
[11/25]iPhone 하이브리드 앱 개발 실무과정
[평일야간]
[11/22]자바초보에서안드로이드까지
[11/26]JAVA&WEB프레임워자실무과정
[11/26]iPhone하이브리드앱개발실무과정
[11/26]웹퍼블리싱 마스터
[11/27]SQL초보에서실전전문가까지
[11/28]Spring3.X, MyBatis, Hibernate실무과정
[주말]
[11/23]JAVA&WEB프레임워크실무과정
[11/23]웹퍼블리싱 마스터
[11/23]C#,ASP.NET마스터
[11/30]SQL초보에서전문가까지
[11/30]Spring3.X,MyBatis,Hibernate실무과정
댓글 없음:
댓글 쓰기