반응형
ORACLE 프로시저의 기본 문법
set serveroutput on ; -- 출력 옵션으로 ON 한다.
CREATE [OR REPLACE] PROCEDURE [프로시저 이름] ( // 변수 정의 [ARGUMENT] [MODE] NUMBER 변수이름 IN 데이터타입, 변수이름 OUT 데이터타입 ) IS BEGIN 기능 구현 END; |
[OR REPLACE] 같은 이름의 프로시저가 존재하는 경우 기존의 프로시저 내용을 지우고 새로운 내용으로 재작성 합니다.
이문법은 주로 프로시저의 내용을 수정하는 경우에 사용함.
[ARGUMENT]
프로시저가 호출되어 실행되는 운영체계로부터 프로시저내로 어떤값은 전달 할때나,
프로시저내에서 처리된 결과값은 운영체계로 다시 돌려줄때 사용하는 키워드
[MODE] 부분에는 IN 또는 OUT 이 들어 갈수 있는데
IN 은 운영체계에서 프로시저로 [OUT]은 프로시저에서 운영체계로 [IN OUT]은 2가지 목적으로 사용되는 인수를 의미 한다.
프로시저 예 )
key_head에 해당하는 key_seq를 증가 시켜 업데이트 하고
해당 키값을 생성해서 리턴하는 프로시저
CREATE OR REPLACE PROCEDURE p_makekey ( in_key_head IN CHAR, out_key_id OUT VARCHAR2 ) IS BEGIN UPDATE key_creation SET key_seq = key_seq+1, updated_date = to_char(sysdate, 'YYYYMMDDHH24MISS') WHERE key_head = in_key_head; SELECT key_head || LPAD(TO_CHAR(key_seq), 10, '0') INTO out_key_id FROM key_creation WHERE key_head = in_key_head; END; |
'DB > ORACLE' 카테고리의 다른 글
oracle 19c 삭제방법 (0) | 2022.03.03 |
---|---|
ORA-65096: 공통 사용자 또는 롤 이름이 부적합합니다 (0) | 2022.02.25 |
ORACLE 12C 다운로드 및 구버전 (2022년 update) (0) | 2022.02.25 |
ora-01940 현재 접속되어 있는 사용자는 삭제할 수 없습니다 (0) | 2021.10.29 |
ORACLE table lock 풀기 ( 오라클 테이블 락 풀기 ) (0) | 2021.07.08 |
댓글