[ORACLE / PROCEDURE] 오라클 프로시저 생성 및 호출 방법


1. 테이블 생성

/* 임시 테스트 테이블 생성 */
CREATE TABLE TB_SAMPLE01(
    C_ID     CHAR(8) NOT NULL,
    COMMNET     NVARCHAR2(50)    
);

 프로시저에서 사용할 테이블을 생성해줍니다.


2. 프로시저(Procedure) 생성

사용법은 다음과 같습니다.

CREATE OR REPLACE PROCEDURE  "프로시저명"
(

         "파라미터명" IN "타입"

)
IS

        "변수명"  "변수타입"

BEGIN

          "프로시저 내용"

END;


다음은 프로시저 생성 예시입니다.


/* 테스트 프로시저 생성 */
CREATE OR REPLACE PROCEDURE PCD_SAMPLE_2
(
    P_PARA_1 IN NUMBER,     -- Parameter 정의
    P_PARA_2 IN VARCHAR2
) 
IS
    V_PARA_1 VARCHAR(20) := 'Q_';   -- 변수 정의
BEGIN
    V_PARA_1 := V_PARA_1 || P_PARA_2;
    INSERT INTO  TB_SAMPLE01 (TEMP_ID, COMMNET) VALUES (P_PARA_1, V_PARA_1);
    DBMS_OUTPUT.PUT_LINE('PARA1 = ' || P_PARA_1);   -- Console 출력
    DBMS_OUTPUT.PUT_LINE('PARA2 = ' || P_PARA_2);   -- Console 출력
END;

'P_PARA_1', 'P_PARA_2' 라는 Parameter 변수 두 개와

'V_PARA_1' 라는 프로시저 내 변수 한 개를 가지고

위에서 만들었던 "TB_SAMPLE01" 테이블에 Parameter로 받는 변수에  "Q_" 문자열을 더해

INSERT하는 간단한 쿼리문입니다.

(참고 : Oracle에서 문자열을 합칠 때는 '||' 기호를 사용합니다.)

DBMS_OUTPUT.PUTLINE(); 절은 DBMS 출력에 괄호 안의 문자열을 출력합니다.




3. 프로시저(Procedure) 호출

/*  프로시저 호출  */
EXEC PCD_SAMPLE_2(1, 'SAMPLE_COMMENT1');

호출 방법은

EXEC "프로시저명" ('매개변수1', '매개변수2');

입니다.

[실행결과 : TB_SAMPLE01 조회]

[실행결과 : DBMS 출력]

0 댓글