パッケージ化されたクエリの作成

パッケージ化されたクエリを作成するには

1. リソース ツリーの適切な場所を右クリックしてパッケージ化されたクエリを追加し、[新しいパッケージ化されたクエリ] を選択します。

[新規にパッケージ化されたクエリ] ウィンドウが開きます。

2. パッケージ化されたクエリの名前を入力します。
3. パッケージ化されたクエリを関連付ける データ ソースを選択します。

パッケージ化されたクエリを後で別のデータ ソースに関連付ける場合は、セクション「プロシージャの再バインド」で説明されている再バインド手法を使用できます。

4. [OK] をクリックします。

エディターが右側に開き、[SQL] パネルが表示されます。

SQL パネルを使用して、パッケージ化されたクエリの SQL を作成および編集します。SQL パネルで定義するパラメーターは、パラメーター パネルで設計されたパラメーターと、それらが提供される順序を含めて一致している必要があります。

5. パッケージ化されたクエリの SQL パネルで次を行います。

データベース固有のクエリがファイル システムにすでに存在する場合は、エディターのツールバーの [ファイルから挿入] を使用してファイルをアップロードします。

ファイルの SQL が [SQL] パネルにコピーされます。

データベース固有のクエリが他にない場合は、SQL パネルに入力します。最初の SQL 行の先頭に文字列「<version 2>」を追加して、入力パラメーターによって渡された null 値を処理し、文字列または TIMESTAMP 入力パラメーターの置換値に現れる可能性がある単一引用符を自動的にエスケープします。

パッケージ化されたクエリがすでにデータ ソースに関連付けられているため、パッケージ化されたクエリ SQL には、リソースへのフルパス名は必要ありません。

パッケージ化されたクエリには出力パラメーターが 1 つだけ必要で、これは少なくとも 1 つのカラムを持つカーソルです。以下では、データ ソースは orderdetails (FROM 句で指定) です。

ゼロから N までの数字を囲む中括弧 {N} を使用して入力パラメーターを入力パラメーターのプレースホルダーとして定義します (この例では、WHERE 句で指定されています)。入力パラメーターの定義と例の詳細については、「パッケージ化されたクエリの 入力パラメーターの指定」を参照してください。

注:パッケージ化されたクエリが、テーブルまたはカーソル出力を持つ 1 つの SELECT ステートメントと同等である場合は、[単一選択] チェック ボックスをオンにします。このフラグは、パッケージ化されたクエリを派生テーブルとして処理できることを TDV クエリ エンジンに通知し、クエリ プランの効率を高める可能性があります。TDV はパッケージ化されたクエリを処理しないため、出力がこの最適化に適しているかどうかをユーザーが判断する必要があります。パッケージ化されたクエリ [単一選択] としてマークすると、TDV でパッケージ化されたクエリに述語 (フィルター条件) を追加でき、Semijoin 最適化のターゲットにすることができます。

6. [パラメーター] タブをクリックして、[パラメーター] パネルを表示します。

パラメーター パネルを使用して、クエリの入力パラメーターと出力パラメーターを設計します。[パラメーター] パネルで定義されたパラメーターは、SQL パネルで定義されたパラメーターと順序を含めて一致している必要があります。すべてのパラメーターを指定したら、それらを使用して [SQL] パネルで SQL のトップダウン設計を行うことができます。

パッケージ化されたクエリの作成」の例に進むには、[パラメーター] パネルに 1 つの出力パラメーター (UnitPrice) と 2 つの入力パラメーター (ProductID と Status) を追加します。

[結果] という名前の出力パラメーターを選択し、[追加] をクリックします。

データ タイプとして Decimal > DECIMAL を選択します。

指定したデータ タイプの新しいパラメーターが追加されます。

新しく追加されたパラメーターの名前を UnitPrice (出力を示すため) に変更し、[ENTER] をクリックします。

必要に応じて右矢印ボタンを使用して結果の右側に移動し、このパラメーターが CURSOR 出力の一部であることを確認します。

タイプ Integer > INTEGER の別のパラメーターを追加します。

これは、この例の最初の入力パラメーターです。CURSOR 出力の一部として結果の下に配置されている場合は、ツールバーの左三角形ボタンを使用して、出力カーソルの外側に移動します。その横に右矢印アイコンが表示されます。

右矢印アイコンは入力パラメーター、左矢印アイコンは出力パラメーターを示します。

パラメーターの名前を ProductID に変更し、[Enter] をクリックします。

タイプ String > CHAR の Status という名前の別の入力パラメーターの追加します。

7. パッケージ化されたクエリを保存します。
8. パッケージ化されたクエリを実行します。

パッケージ化されたクエリの実行は、パラメーター化されたクエリの実行に似ています。詳細については、「パラメーター化されたクエリの実行」を参照してください。