Oracle - Package

갓김치·2020년 9월 2일
0

Oracle

목록 보기
32/33
post-thumbnail

참고

2020-09-02-03)PACKAGE.sql

패키지 Package

  • 논리적 연관성이 있는 PL/SQL의 변수, 상수, 커서, 예외, 함수, 프로시져 등을 묶어 놓은 객체
  • 패키지명은 보통 pg_ 또는 접미사 _pkg를 사용

특징

  • 함수, 프로시져와 다른점

1) 모듈화 기능 제공

  • 업무 연관성이 존재하는 함수, 프로시져 등 서브프로그램을 묶어 처리하기때문에 모듈화 가능
  • ex)사원들에 관한 업무(등록,퇴사,부서이동 등)를 묶어 놓고 필요한 업무만 선별적으로 처리

2) 프로그램 설계 용이성

  • 패키지는 선언부와 실행부로 나누어 정의
  • 선언부 : 장래 사용할 함수, 프로시져, 변수, 상수 등의 선언만 담당

3) 캡슐화 가능

  • 외부로부터 불필요한 간섭 방지

패키지 선언부

  • 패키지의 스펙 정의
  • 변수, 상수, 커서, 예외 및 서브프로그램(함수, 프로시져)의 선언
    • BEGIN,END블럭은 실행부에서 정의

사용형식

패키지 실행부(본문)

  • 선언부에서 선언된 함수나 프로시져의 구현

사용형식

예시

1. 사원과 부서 등의 테이블을 사용한 비지니스 로직(사원번호를 이용한 이름 검색, 신규사원등록, 퇴직자처리)을 처리하는 패키지

패키지 선언부

패키지 실행부

실행

    1. FUNCTION: 사원번호를 입력받아 이름을 반환
    1. PROCEDURE: 모든 사원의 사원명 출력
    1. PROCEDURE: 신규사원 등록 (프로시져이기때문에 EXEC, EXECUTE 써야함)
    1. PROCEDURE: 퇴직 처리
profile
갈 길이 멀다

0개의 댓글