[oracle] 시퀀스를 이용한 기본키 자동 생성
시퀀스를 이용한 기본키 자동 생성
- 사용자가 키 값을 직접 입력하지 않고 서버단에서 자동 생성 된다.
삽입할 타겟 테이블은 students( s_id, s_name, s_residents, s_address )
시퀸스 생성
SQL> create sequence foo_seq;
주문번호가 생성되었습니다.
트리거 생성
SQL> create trigger pk_gen
2 before insert on student
3 for each row
4 begin
5 select foo_seq.nextval
6 into :new.st_id
7 from dual;
8 end;
9 /
트리거가 생성되었습니다.
데이터 입력 ( id 입력 제외 )
insert into students(s_name, s_residents, s_address ) values( 'ghah', '456456', '수성구');
데이터 확인
SQL> select * from students;
S_ID
--------------------
S_RESIDENTS
--------------------------------------------------------------------------------
S_NAME
--------------------------------------------------------------------------------
S_ADDRESS
--------------------------------------------------------------------------------
1
231244
서지환
S_ID
--------------------
S_RESIDENTS
--------------------------------------------------------------------------------
S_NAME
--------------------------------------------------------------------------------
S_ADDRESS
--------------------------------------------------------------------------------
12
435647
하할ㄹㄹ
S_ID
--------------------
S_RESIDENTS
--------------------------------------------------------------------------------
S_NAME
--------------------------------------------------------------------------------
S_ADDRESS
--------------------------------------------------------------------------------
44
457657
김말자
S_ID
--------------------
S_RESIDENTS
--------------------------------------------------------------------------------
S_NAME
--------------------------------------------------------------------------------
S_ADDRESS
--------------------------------------------------------------------------------
5
456456
ghah
수성구