![]() 前へ |
![]() 次へ |
テーブル・ファンクション演算子を使用して、マッピング内のテーブル・ファンクションを表します。テーブル・ファンクション演算子を使用すると、入力行セットを操作し、同じまたは異なるカーディナリティを持つ別の行セットを戻すことができます。
通常のファンクションは一度に1行のみを処理しますが、テーブル・ファンクションでは行セットに同じ複雑なPL/SQLロジックを適用してパフォーマンスを向上できます。従来型のファンクションとは異なり、テーブル・ファンクションは物理表のように問合せ可能な出力行セットを戻すことができます。
テーブル・ファンクションの実行をパラレル化することもできます。この場合、戻された行は中間のステージングなしで次のプロセスに直接ストリーム化されます。テーブル・ファンクションから戻されるコレクションの行は、テーブル・ファンクションの入力全体の処理が完了してからバッチで出力するかわりに、パイプライン化したり生成時のまま1行ずつ出力できます。
テーブル・ファンクションを使用すると、データ・ウェアハウスのロード時にパフォーマンスを大幅に向上できます。
テーブル・ファンクション演算子には、入力グループ1つと出力グループ1つが含まれます。
マッピングでテーブル・ファンクション演算子を定義する手順は、次のとおりです。
テーブル・ファンクション演算子をキャンバスにドラッグ・アンド・ドロップします。
「テーブル・ファンクション演算子の追加」ダイアログ・ボックスが表示されます。
既存のテーブル・ファンクションを使用して、「既存リポジトリ・オブジェクトから選択してバインド」を選択し、ツリーからテーブル・ファンクションを選択することにより、データを変換します。
テーブル・ファンクション演算子がキャンバスに追加されます。入力グループINGRP1には、テーブル・ファンクションに定義されている入力パラメータが含まれます。
テーブル・ファンクションによって使用される入力が含まれる演算子を入力グループ内のパラメータにマップします。
通常は、1つ以上の入力パラメータがコレクション・タイプです。このような場合、ソース・オブジェクトにコレクション・タイプが含まれない場合は、オブジェクトの構成演算子を使用して、個別ソース属性を使用してコレクション・タイプを作成します。
テーブル・ファンクション演算子の戻りグループを、変換ターゲットを表す演算子にマップします。
テーブル・ファンクションの特性
名前によるパラメータの受渡しはサポートされていません。
戻り型がTABLE of PLS Recordの場合は、「PLSレコード」フィールドの名前と一致する名前を選択する必要があります。選択リストから選択できるのは、PLS Recordのフィールドのサブセット1つのみです。
戻り型がTABLE of T1%ROWTYPEの場合は、表T1の列名と一致する名前を選択する必要があります。
戻り型がTABLE of Object Typeの場合は、「オブジェクト・タイプ」属性の名前と一致する名前を選択する必要があります。
戻り型がTABLE of Scalar(TABLE of NUMBERなど)の場合、テーブル・ファンクションから戻されるスカラー値の検索に使用できるのはSELECT COLUMN_VALUEのみです。