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 "프로시저명"
(
"파라미터명" 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 댓글