핵심정리
1 패키지는 논리적 연관성을 가진 PL/SQL 타입, 변수, 상수, 서브 프로그램, 커서, 예외 등의 항목을 묶어 놓은 객체를 말한다.
2 일반 함수나 프로시저와 비교해 패키지가 가진 장점은 모듈화가 가능하며 프로그램 설계가 쉽고 캡슐화와 정보은닉 기능을 지원함은 물론, 좀더 나은 성능을 낼 수 있다.
3 패키지는 선언부와 본문으로 구성되어 있고 선언부만 있어도 컴파일해 사용할 수 있다.
4 패키지 선언부에는 상수, 변수, 커서, 사용자 정의 타입, 예외는 물론 함수와 프로시저의 명세 부분을 명시한다.
5 패키지 본문에서도 여러 데이터 타입을 선언할 수 있고, 함수와 프로시저의 세부 구현 코드를 작성한다.
6 패키지 선언부에 각종 데이터 타입을 명시하면 외부에서 참조해 사용할 수 있지만, 본문에서 선언하면 외부에서는 접근할 수 없고 해당 패키지 내에서만 참조해 사용이 가능하다.
7 패키지 데이터는 동일한 세션에서는 값을 공유할 수 있지만, “PRAGMA SERIALLY_REUSABLE” 키워드를 사용하면 세션이 아닌 호출 단위별로 사용되어 세션별 값이 공유되지 않는다.
8 패키지 함수와 프로시저는 오버로딩 기능 구현이 가능하다.
9 오라클에는 다양한 기능을 수행하는 시스템 패키지가 있으며, 개발자 입장에서 사용할 만한 시스템 패키지 명칭은 주로 ‘DBMS’ 혹은 ‘UTL’로 시작한다.