[오라클12C,Oracle12C,SQL,identity,sequence]오라클12C 시퀀스,ID컬럼,GENERATED AS IDENTITY, ORA-32795:
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)
[주말]
[10/26]C#,ASP.NET마스터
[11/2]Spring3.X, MyBatis, Hibernate실무과정
[11/2]JAVA&WEB프레임워크실무과정
[평일야간]
[10/29]C#,ASP.NET마스터
[10/31]JAVA&WEB프레임워크실무과정
[11/1]Spring3.X, MyBatis, Hibernate실무과정
[주간]
[11/4]Spring3.X, MyBatis, Hibernate실무과정
[주말]
[10/26]C#,ASP.NET마스터
[11/2]Spring3.X, MyBatis, Hibernate실무과정
[11/2]JAVA&WEB프레임워크실무과정
[평일야간]
[10/29]C#,ASP.NET마스터
[10/31]JAVA&WEB프레임워크실무과정
[11/1]Spring3.X, MyBatis, Hibernate실무과정
[주간]
[11/4]Spring3.X, MyBatis, Hibernate실무과정
[기타 다른 강좌는 아래 해당 카테고리를 클릭해주세요]
댓글 없음:
댓글 쓰기