함수와 저장프로시저

bong·2023년 12월 16일
0

오라클 DB

목록 보기
3/8

함수란 주로 SELECT문에서 함수를 사용한 단순한 프로그래밍
저장 프로시저란 단위 처리 모듈 구성을 기반으로 한 프로그래밍

함수저장 프로시저
호출- prompt : EXECUTE 함수이름
- SQL : 함수이름
- 함수, 프로시저 : 함수이름
- prompt : EXECUTE 프로시저 이름
- SQL : 프로시저 호출 불가
- 함수, 프로시저 : 프로시저 이름
파라미터값 변경 불가IN, OUT, IN OUT
반환값RETURN 사용으로 하나의 값 반환OUT, IN OUT으로 여러개 값 반환 가능
SQL 사용함수내 SQL 사용 가능프로시저내 SQL 사용 가능

1. 함수 선언 형식

CREATE OR REPLACE FUCTION 이름 (파라미터) RETURN 반환타입
AS
	변수선언
BEGIN
	명령선언
    RETURN 반환값
END;

1.1 테이블 반환 함수

// 튜플의 타입 정의
CREATE OR REPLACE TYPE 튜플타입이름 AS OBJECT
(
	열이름 데이터타입
    ...
)
// 테이블 타입 정의
CREATE OR REPLACE TYPE 테이블타입이름 AS TABLE OF 튜플타입이름;
// 테이블 함수 정의
CREATE OR REPLACE FUCTION 함수이름() RETURN 테이블타입이름 PIPELINE
AS
	변수선언
BEGIN
	명령선언
    RETURN
END;

2. 저장 프로시저 형식

CREATE OR REPLACE PROCEDURE 프로시저이름(파라미터)
AS
	변수선언
BEGIN
	명령선언
END;

3. 저장 프로시저의 파라미터

3.1 입력 파라미터

변수명 IN 데이터타입 [:= 기본값]

3.2 출력 파라미터

변수명 OUT 데이터타입

3.3 입출력 파라미터

  • 입력과 출력을 동시에 수행할 수 있는 파라미터
변수명 IN OUT 데이터타입

4. 프로시저의 장점

  • 서버 중심의 보완 관리에 편리
  • 네트워크 전송량 감소하지만 서버의 부하 증가
  • 모듈식 루틴 관리 가능
  • 예외 처리 가능
  • 트리거와 연계 가능
profile
늅늅

0개의 댓글