함수
똑같은 처리를 반복적으로 사용할  쓰는 것으로 로직을 수행한  특정한 값을 반환하는 서브 프로그램이다.
함수 생성
CREATE OR REPLACE FUNCTION 함수이름(매개변수명1 매개변수1타입, 매개변수2 매개변수2타입,매개변수3 매개변수3 타입, …)
RETURN 반환 타입;
IS
  선언부
BEGIN
실행부
RETURN 반환값;
[EXCEPTION
예외처리부
END [함수이름];
 
함수 호출
함수명(매개변수1, 매개변수2, 매개변수3, …);
 
매개변수가 없는 함수를 생성할 수도 있다. (호출시 함수명만 기제해도됨)

프로시저
함수는 로직을 수행한  값을 반환하지만 프로시저는 로직 수행만  수있다.
 
프로시저 생성
CREATE OR REPLACE PROCEDURE 프로시저이름
            (매개변수1 [IN / OUT / IN OUT] 데이터 타입 [ := 기본값],
            매개변수2 [IN / OUT / IN OUT] 데이터 타입 [ := 기본값],
            매개변수3 [IN / OUT / IN OUT] 데이터 타입 [ := 기본값], …)
IS
  선언부
BEGIN
  실행부
[EXCEPTION
예외 처리부]
END [프로시저 이름 ];

함수와 다르게 매개변수에 값이 안들어왔을 경우의 값을 설정할  있다.
매개변수에 붙는 IN 입력받을 , OUT 출력할  사용하는 용어이다.
값을 프로시저를 호출한 로직의 다른 변수에 넣어주고 싶을  OUT 사용하면 된다아무것도 안적을 경우 기본적으로 IN 선언된다.
프로시저에서도 RETURN 사용할  있는데 이것은 함수와 같이 결과값을 출력하는 용도가 아닌 로직을 빠져나가는 용도로 사용한다.

프로시저 실행
EXEC 프로시저명(매개변수매개변수매개변수);
EXECUTE 프로시저명(매개변수매개변수매개변수);
 
EXEC 프로시저명(매개변수1 => 매개변수매개변수2 => 매개변수매개변수3 => 매개변수);
EXECUTE 프로시저명(매개변수1 => 매개변수매개변수2 => 매개변수매개변수3 =>매개변수);

매개변수를 순서대로 기입하는 방법도 있지만 하나씩 매칭해주는 방법도 있다.


'프로그래밍 > 오라클' 카테고리의 다른 글

(오라클) PL/SQL  (0) 2016.07.10
(오라클) With 절  (0) 2016.07.10
(오라클) 계층형 쿼리  (0) 2016.07.10
(오라클) 조인, 안시 조인  (0) 2016.07.10
(오라클) SQL 함수  (0) 2016.07.10

+ Recent posts