더북(TheBook)

패키지 본문

패키지는 선언부만 있어도 컴파일한 뒤 사용할 수 있다. 하지만 선언부에서 커서나 서브 프로그램을 선언했다면 이들에 대한 구현 내용이 필요한데, 이를 패키지 본문(Body)에서 작성한다. 패키지 본문을 생성하는 구문은 다음과 같다.

패키지 본문 구문
    CREATE OR REPLACE PACKAGE BODY 패키지명 IS
      상수명 CONSTANT상수_타입;
      변수명 변수_타입;
      커서 정의 구문;
     
        FUNCTION 함수명(매개변수1 IN 매개변수1_타입,
                            매개변수2 IN 매개변수2_타입,
                             ... ) RETURN 반환타입 IS
        IS
    ...
        BEGIN
    ...
        END 함수명;
     
    PROCEDURE 프로시저명( 매개변수1 [IN, OUT, INOUT] 매개변수1_타입,
                                 매개변수2 [IN, OUT, INOUT] 매개변수2_타입,
                                 ... )
        IS
    ...
        BEGIN
    ...
        END 프로시저명;
    ...
     
    END 패키지명;

패키지 본문에서도 선언부에서와 마찬가지로 상수, 변수 등을 선언할 수 있다. 패키지 본문에서 선언한 상수나 변수는 외부에서 참조할 수 없다. 그리고 선언부에서 커서나 서브 프로그램을 선언했다면 이들의 세부적인 구현 부분은 패키지 본문에서 작성한다. 패키지 본문의 내용은 패키지 작성자(소유자)만 접근해 수정할 수 있으며, 다른 사용자는 전혀 볼 수가 없다. 패키지 내의 함수나 프로시저의 구현 내용은 일반적인 함수나 프로시저를 생성할 때와 구문이 같다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.