Packages¶
この章では、AdvancedServerのパッケージの概念について説明します。パッケージ は、関数、プロシージャ、変数、カーソル、ユーザー定義のレコードタイプ、および共通の修飾子(パッケージ識別子)を使用して参照されるレコードの名前付きコレクションです。パッケージには次の特徴があります。
パッケージは、関連する目的を実行する機能と手順を整理する便利な手段を提供します。パッケージの関数とプロシージャを使用する権限は、パッケージ全体に付与された1つの特権に依存します。すべてのパッケージプログラムは、共通名で参照する必要があります。
パッケージ内の特定の関数、プロシージャ、変数、型などは、public として宣言できます。パブリックエンティティは表示されており、パッケージに対する
EXECUTE
特権が付与されている他のプログラムから参照できます。パブリック関数およびパブリックプロシージャの場合、署名のみが表示されます-プログラム名、パラメータ(存在する場合)、関数の戻り値の型。これらの関数とプロシージャのSPLコードは他のユーザーがアクセスできないため、パッケージを使用するアプリケーションは、プロシージャロジック自体ではなく、署名で使用可能な情報のみに依存します。パッケージ内の他の関数、プロシージャ、変数、型などは、private として宣言できます。プライベートエンティティは、パッケージ内の関数とプロシージャで参照および使用できますが、他の外部アプリケーションでは使用できません。プライベートエンティティは、パッケージ内のプログラムでのみ使用されます。
関数およびプロシージャ名は、パッケージ内でオーバーロードできます。1つ以上の関数/プロシージャを同じ名前で定義できますが、署名は異なります。これにより、同じジョブを実行するが異なるタイプの入力で同じ名前のプログラムを作成する機能が提供されます。