함수란 주로 SELECT문에서 함수를 사용한 단순한 프로그래밍
저장 프로시저란 단위 처리 모듈 구성을 기반으로 한 프로그래밍
함수 | 저장 프로시저 | |
---|---|---|
호출 | - prompt : EXECUTE 함수이름 - SQL : 함수이름 - 함수, 프로시저 : 함수이름 | - prompt : EXECUTE 프로시저 이름 - SQL : 프로시저 호출 불가 - 함수, 프로시저 : 프로시저 이름 |
파라미터 | 값 변경 불가 | IN, OUT, IN OUT |
반환값 | RETURN 사용으로 하나의 값 반환 | OUT, IN OUT으로 여러개 값 반환 가능 |
SQL 사용 | 함수내 SQL 사용 가능 | 프로시저내 SQL 사용 가능 |
CREATE OR REPLACE FUCTION 이름 (파라미터) RETURN 반환타입
AS
변수선언
BEGIN
명령선언
RETURN 반환값
END;
// 튜플의 타입 정의
CREATE OR REPLACE TYPE 튜플타입이름 AS OBJECT
(
열이름 데이터타입
...
)
// 테이블 타입 정의
CREATE OR REPLACE TYPE 테이블타입이름 AS TABLE OF 튜플타입이름;
// 테이블 함수 정의
CREATE OR REPLACE FUCTION 함수이름() RETURN 테이블타입이름 PIPELINE
AS
변수선언
BEGIN
명령선언
RETURN
END;
CREATE OR REPLACE PROCEDURE 프로시저이름(파라미터)
AS
변수선언
BEGIN
명령선언
END;
3.1 입력 파라미터
변수명 IN 데이터타입 [:= 기본값]
3.2 출력 파라미터
변수명 OUT 데이터타입
3.3 입출력 파라미터
변수명 IN OUT 데이터타입