반응형
< 시퀀스를 함수로 사용하는 방법 >
SELECT INSERT 할 경우나 서브쿼리문의 시퀀스 사용시 불가능 할때가 있습니다.
이럴때는 함수를 사용 하시면은 원하시는 순번 등록을 할 수 있습니다.
두 가지를 잘 활용해서 개발할때 도움 되셨스면 합니다.
1. 함수를 이용하는 시퀀스 순번
1-1 시퀀스 생성
CREATE SEQUENCE /*시퀀스명*/ INCREMENT BY 1 START WITH 0 MINVALUE 0 MAXVALUE 999999999999 NOCYCLE NOORDER; |
1-2 함수생성
CREATE OR REPLACE FUNCTION /* 함수명 */ RETURN NUMBER AS num NUMBER; BEGIN SELECT /*시퀀스명*/.NEXTVAL INTO num FROM DUAL; RETURN num ; END /* 함수명 */; |
2. 함수를 이용한 해당 테이블 MAX+1 순번
2-1 함수생성
CREATE OR REPLACE FUNCTION /* 함수명 */ RETURN NUMBER AS num NUMBER; BEGIN SELECT NVL( MAX( TO_NUMBER( TRIM(NO) ) ), 0 ) + 1 INTO num FROM /* 테이블명 */; RETURN num ; END /* 함수명 */; |
반응형
'웹프로그래밍 > Oracle or Sql' 카테고리의 다른 글
SQL QUERY 개행문자 및 스크립트 제거 (1) | 2020.10.30 |
---|---|
SELECT KEY 셀렉트키 MYBATIS MAX+1 (0) | 2020.10.28 |
SQL ORACLE, TIBERO DB TIMESTAMP를 이용한 복구(실수로 DELETE) (0) | 2020.04.14 |
Oracle(오라클) 계정 모를때 (0) | 2019.05.30 |
[SQL] 특정문자 기준으로 문자열 자르기 (1) | 2018.08.10 |