일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- javascript 낙타
- 화면보호기 실행 방지
- eclipse properties
- #오라클 데이터 복구
- eclipse 다국어
- JSP Standard Tag Library (JSTL) Tutorial
- javascript Camel
- 폴더만 남기고 파일만 삭제
- 허드슨 포트 변경
- jquery_api #jquery #api
- ajax 배열
- 근무날짜 경력계산
- 시퀀스 초기화 프로시져
- 트리거 이벤트
- 뒤로가기 방지
- css 말줄임
- i_tail
- Spring Annotation
- ajax 배열 파라미터
- 여러줄 한줄로
- jQuery 백스페이스
- 팝업 종료
- eclipse 폰트
- taglib 만들기
- 전화번호 형식 자동 변환
- DIV 팝업 이외 영역 클릭 시 팝업 닫기
- 스킵 네비게이션
- 탭과 클릭 focus 이벤트 구분
- jquery_cheat_sheet #jquery_quick_api_reference
- 엑셀 UPDATE
Archives
- Today
- Total
Hi~ Summers!!
[oracle] INSERT 시 자동으로 시퀀스 증가 본문
INSERT 할 때마다 SEQ가 증가되야 할 때 그동안은 sequence.nexval 로 증가해 줬으나
TRIGGER를 이용해서 INSERT 할 때 자동으로 해당 컬럼에 증가값이 들어가도록 할 수 있다.
1. 예제 테이블 생성
1 2 3 4 5 6 | CREATE TABLE departments ( ID NUMBER(10) NOT NULL, DESCRIPTION VARCHAR2(50) NOT NULL); ALTER TABLE departments ADD ( CONSTRAINT dept_pk PRIMARY KEY (ID)); | cs |
2. 시퀀스 생성
1 | CREATE SEQUENCE dept_seq START WITH 1; | cs |
3. 트리거 생성
1 2 3 4 5 6 7 8 9 | CREATE OR REPLACE TRIGGER dept_bir BEFORE INSERT ON departments FOR EACH ROW BEGIN SELECT dept_seq.NEXTVAL INTO :new.id FROM dual; END; | cs |
4. 사용 예제
1 | INSERT INTO departments (DESCRIPTION) VALUES ('설명123'); | cs |
※ Oracle 12C 에서는 아래처럼 쓴다.
1 2 | CREATE TABLE t1 (c1 NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY, c2 VARCHAR2(10)); | cs |
Comments