본문 바로가기

04번. IT 힌트얻기/▶ DB/ SQL

Oracle Function


◆ FUNCTION 생성 ◆

실행 환경에 반드시 하나의 값을 Return 하기 위해 PL/SQL 함수를 사용한다. 함수 선언에서 Datatype이 있는 RETURN 절을 추가하고 PL/SQL 블록에 적어도 한 개 이상의 RETURN 문을 포함한다. PARAMETER에서 사용하는 IN, OUT, IN OUT는 PROCEDURE에서 사용한 것과 동일하게 사용가능하나 대부분 IN을 사용한다.

1. Syntax


OR PLACE function name이 존재할 경우 FUNCTION의 내용을 지우고 다시 생성
function_name      Function의 이름은 표준 Oracle 명명법에 따른 함수이름
argument             매개변수의 이름
mode                  3가지가 있다
                          IN(입력매개변수), OUT(출력매개변수), IN OUT(입력, 출력 매개변수)
data_type            반환되는 값의 datatype
pl/sql_block        FUNCTION을 구성하는 코드를 구성하는 PL/SQL 블록

2. RETURN 문

  1) PL/SQL 블록에는 RETURN 문이 있어야 한다.
  2) 함수는 RETURN 절에 지정된 것과 동일한 datatype으로 RETURN 값을 설정해야 한다.
  3) 다중 RETURN 문은 사용할 수 있지만 한 번의 호출로는 한 개의 RETURN 문만 실행된다.
  4) 일반적으로 다중 RETURN 문은 IF 문에서 사용한다.

3. FUNCTION 실행

PL/SQL을 지원하는 어떤 툴이나 언어에서도 함수를 실행할 수 있고 PL/SQL내부에서 식의 일부로서 함수를 실행할 수 있다. SQL*Plus에서 FUNCTION 호출은 Stored Function을 참조하는 PL/SQL 문을 실행하기 위해 EXECUTE 명령을 사용할 수 있다. EXECUTE는 명령 다음에 입력되는 Stored Function를 실행한다.

'04번. IT 힌트얻기 > ▶ DB/ SQL ' 카테고리의 다른 글

트리거(TRIGGER) 이해하기  (0) 2011.11.08
ROLL UP  (0) 2011.10.07
OUTER JOIN  (0) 2011.10.07
[SQL 고수되기] 열한번째 이야기  (0) 2011.10.06
[SQL 고수되기] 열번째 이야기  (0) 2011.10.06