특정한 로직을 처리하기만 하고 결과 값을 반환하지 않는 서브 프로그래이다. 테이블에서 데이터를 추출해 조작하고 그 결과를 다른 테이블에 다시 저장하거나 일련의 처리를 할 때 주로 프로시저를 사용한다.
생성
CREATE OR REPLACE PROCEDURE 프로시저명
(매개변수형1 [IN | OUT | IN OUT] 데이터타입 [:= 디폴트값]
,매개변수명2 [IN | OUT | IN OUT] 데이터타입 [:= 디폴트값]
...
)
IS[AS]
변수, 상수 등 선언
BEGIN
실행부
[EXCEPTION
예외처리부]
END [프로시저명];
매개변수
IN은 입력, OUT은 출력, IN OUT은 입출력을 동시에 한다는 의미이다. 디폴트 값은 IN이다. OUT 매개변수는 프로시저 내에서 로직 처리 후, 해당 매개변수에 값을 할당해 프로시저 호출부분에서 이 값을 참조할 수 있다.
CREATE OR REPLACE PROCEDURE MY_NEW_JOB_PROC
( P_JOB_ID IN JOBS.JOB_ID%TYPE,
P_JOB_TITLE IN JOBS.JOB_TITLE%TYPE,
P_MIN_SAL IN JOBS.MIN_SALARY%TYPE,
P_MAX_SAL IN JOBS.MAX_SALARY%TYPE)
IS
BEGIN
INSERT INTO JOBS (JOB_ID, JOB_TITLE, MIN_SALARY, MAX_SALARY, CREATE_DATE, UPDATE_DATE)
VALUES (P_JOB_ID, P_JOB_TITLE, P_MIN_SAL, P_MAX_SAL, SYSDATE, SYSDATE);
COMMIT;
END;
'스마트팩토리 > 오라클' 카테고리의 다른 글
계정과 스키마 (0) | 2020.09.10 |
---|---|
오라클 테이블 스페이스(Table Space) (0) | 2020.09.05 |
오라클 SQL 문법 (0) | 2020.08.27 |
오라클 데이터 타입 (0) | 2020.08.27 |
C#과 오라클 연동해보기 (0) | 2020.08.26 |