PL SQL

PL/SQL 프로시저(Procedure) - 4 (파라미터 작성 방법, DEFAULT 옵션)

n.han 2016. 7. 6. 16:56

파라미터 작성 방법 (위치 지정, 이름 지정, 혼합) DEFAULT 옵션

  위치 지정 방식은 실제 파라미터와 형식 파라미터와 동일한 순서로 나열하 는 방식이다.

 

 -- Passing parameters using the positional notation.
EXECUTE add_dept ('TRAINING', 2500)

 

  이름 지정 방식은 연관 연산자(=>)를 사용하여 이름 지정 형식 파라미터를 실제 파라미터와 연관 시키는 방법이다.

 

-- Passing parameters using the named notation.
EXECUTE add_dept (p_loc=>2400, p_name=>'EDUCATION')

 

  혼합 지정 방식은 일부는 위치, 일부는 이름 지정 방식을 사용하는 것이다.

  또한 프로시저의 DEFAULT 을 지정하면, 해당 프로시저 호출 시 인수를 생략할 수 있다. (생략하면 DEFAULT 값이 사용된다). 다음은 DEFAULT 값을 지정한 프로시저를 호출하는 예제이다. 혼합 지정 방식으로 호출하는 경우, 좌측부터 차례대로 인수에 들어가므로 500P1에 들어간다. 따라서 결과적으로 P3의 값이 520으로 출력되는 것을 볼 수 있다.

 

CREATE OR REPLACE PROCEDURE proc1
(p1 IN NUMBER := 10 ,
p2 IN NUMBER := 20 ,
p3 OUT NUMBER )
IS
BEGIN
p3 := p1 + p2 ;
END proc1 ;
/
Procedure created.

 

DECLARE
v1 NUMBER ;
BEGIN
proc1 ( p3 => v1 ) ;
DBMS_OUTPUT.PUT_LINE (v1) ;
proc1 ( 500, p3 => v1 ) ;
DBMS_OUTPUT.PUT_LINE (v1) ;
END ;
/
30
520
PL/SQL procedure successfully completed.