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처럼 상태를 멤버 함수로 관리할 수 있습니다.