![]() 前へ |
![]() 次へ |
PL/SQLタイプを使用すると、コレクション・タイプ、レコード・タイプおよびREFカーソル・タイプをWarehouse Builderに作成できます。PL/SQLタイプは、サブプログラムのパラメータとして、またはファンクションに対する戻り型として使用します。PL/SQLタイプをサブプログラムに対するパラメータとして使用すると、任意の数の要素を処理できます。バルクSQLを使用してデータベース表との間でデータを移動するには、コレクション・タイプを使用します。PL/SQLタイプの詳細は、Oracle Database PL/SQL言語リファレンスを参照してください。
Warehouse Builderを使用すると、次のPL/SQLタイプを作成できます。
PL/SQLレコード・タイプ
レコード・タイプを使用すると、パッケージにレコードを定義できます。レコードとは、複数のフィールドを持つ複合データ構造です。各フィールドのデータ型は異なる場合があります。関連する項目を保持し、その項目を単一のパラメータを使用してサブプログラムに渡すには、レコードを使用します。
たとえば、EMPLOYEEレコードには、ID、姓、名前、住所、誕生日、雇用日、給与など、従業員に関連する詳細を格納できます。EMPLOYEEレコードに基づいてレコード・タイプを作成し、そのレコード・タイプを使用してサブプログラム間で従業員データを渡すことができます。
REFカーソル・タイプ
REFカーソル・タイプを使用すると、パッケージ内にREFカーソルを定義できます。REFカーソルは単一の問合せにバインドされず、異なる複数の結果セットを指し示すことができます。REFカーソルは、あるサブプログラムで問合せを実行し、その結果を別のサブプログラムで処理する場合に使用します。また、REFカーソルを使用すると、問合せの結果セットを、PL/SQLが格納されたサブプログラムと様々なクライアント(OCIクライアントやOracle Formsアプリケーションなど)との間で渡すことができます。
REFカーソルは、すべてのPL/SQLクライアントで使用できます。たとえば、REFカーソルをPL/SQLホスト環境(OCIやPro*Cプログラム・クライアントなど)で宣言し、そのREFカーソルを入力ホスト変数(バインド変数)としてPL/SQLに渡すことができます。PL/SQLエンジンを持つOracle Formsなどのアプリケーション開発ツールでは、クライアント側全体でカーソル変数を使用できます。また、リモート・プロシージャ・コールを介して、カーソル変数をクライアントとデータベース・サーバーとの間で受け渡すことができます。
ネストした表のタイプ
ネストした表のタイプを使用して、パッケージ内のネストした表を定義します。ネストした表は順序を設定していない要素セットで、すべてが同じデータ型です。要素数が宣言されていない1つのディメンション配列に類似しています。要素が表であるネストした表を作成して多次元配置をモデル化できます。
たとえば、任意の数の従業員IDを保持できるネストした表のタイプを作成できます。このネストした表のタイプは、ネストした表のタイプに含まれる従業員レコードのみを処理するサブプログラムにパラメータとして渡すことができます。