HPL/SQL - CREATE PACKAGE 문

HPL/SQL - CREATE PACKAGE 문

CREATE PACKAGE 문은 관련된 변수·프로시저·함수를 하나로 묶어 패키지로 정의하는 데 사용해요. 코드를 모듈화하고 재사용성을 높일 수 있습니다.

출처: 문서

본문

CREATE PACKAGE 문은 관련된 변수, 프로시저, 함수의 모음을 정의할 수 있게 해줍니다.

구문(Syntax)

패키지 명세(Package specification):

[CREATE [OR REPLACE] | REPLACE] PACKAGE package_name AS | IS package_spec END

package_spec:
  variable declaration |
  function declaration |
  procedure declaration

패키지 본문(Package body):

[CREATE [OR REPLACE] | REPLACE] PACKAGE BODY package_name AS | IS package_body END

package_body:
  private variable declaration |
  function definition |
  procedure definition

예제(Example):

패키지를 정의한 뒤 그 멤버들을 호출합니다.

패키지 명세:

create or replace package users as
  session_count int := 0;
  function get_count() return int;
  procedure add(name varchar(100));
end;

패키지 본문:

create or replace package body users as
  function get_count() return int
  is
  begin
    return session_count;
  end;
  procedure add(name varchar(100))
  is
  begin
    -- ...
    session_count = session_count + 1;
  end;
end;

패키지 사용:

users.add('John');
users.add('Sarah');
users.add('Paul');
print 'Number of users: ' || users.get_count();

호환성(Compatibility): Oracle

참고(See also):

  • User-Defined Functions and Stored Procedures
  • CALL
  • CREATE FUNCTION
  • CREATE PROCEDURE
  • INCLUDE

더 알아보기 (Learn more)

패키지는 Oracle 스타일의 모듈화 기능이에요. 명세(package specification)로 외부에 공개할 인터페이스를, 본문(package body)으로 실제 구현을 정의합니다. 내부 변수인 session_count처럼 상태를 멤버 함수로 관리할 수 있습니다.