[오라클 PL/SQL] PL/SQL OUT 매개변수


안녕하세요.

 

오늘은 오라클 PL/SQL 에서 프로시저를 생성 할 시, OUT 매개변수에 대해서 알아 보려고 합니다.

 

OUT 매개변수란, 프로시저 실행 시점에 OUT 매개변수를 변수 형태로 전달하고, 프로시저 실행부에서 이 매개변수에 특정 값을 할당해 주는 역할을 합니다.

 

이렇게 말로 해서는 바로 이해가 힘들기 때문에 예제 코드를 보면서 알아 보도록 하겠습니다.

 

OUT 매개변수 사용하여 프로지서 생성 및 실행


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

CREATE OR REPLACE PROCEDURE my_out_proc

(

    p_name OUT VARCHAR2,

    p_age OUT NUMBER

)

 

IS 

BEGIN

    p_name := '범범조조';

    p_age := 27;

    

    DBMS_OUTPUT.PUT_LINE('OUT 매개변수 오출 완료');

END;

 

DECLARE

    OUT_NAME VARCHAR2(100);

    OUT_AGE NUMBER;

    

BEGIN

    my_out_proc(OUT_NAME, OUT_AGE);

    DBMS_OUTPUT.PUT_LINE('이름 : ' || OUT_NAME || '나이 :' || OUT_AGE);

END;

Colored by Color Scripter

cs

 

위에서 my_out_proc라는 프로시저를 생성하였고 매개변수는 p_name, p_age 두 개의 매개변수를 OUT으로 선언하여 프로시저를 생성하였습니다.

 

기존에 IN 으로 매개변수를 생성하여 프로시저를 호출했을 때에는 사용자가 직접 프로시저를 호출 할 때에 매개변수에 특정 값을 직접 넣어줘서 프로시저를 실행하여야 했는데요.

 

OUT 매개변수는 반대로 프로시저 실행 하고 나서 변수에 특정 값을 할당 받도록 하는 역학을 합니다.

 

그래서 지금 위에서 p_name = “범범조조”, p_age = 27이라고 값을 넣어 놓은 상태로 해당 프로시저를 실행하면 실행할 때 생성했던 변수인 OUT_NAME, OUT_AGE의 값에 각각 범범조조” , 27 값이 저장되면서 아래와 같이 출력 되는 모습을 보실 수 있습니다.

 

실행결과



 

이로써, 간단히 OUT 매개변수에 대해서 알아 보았습니다.

 

감사합니다~~


728x90

이 글을 공유하기

댓글

Designed by JB FACTORY