ユーザーガイド > 手順 > パッケージ化されたクエリー > パッケージ化されたクエリーの作成
 
パッケージ化されたクエリーの作成
パッケージ化されたクエリーを作成するには
1.パッケージ化されたクエリーを追加するには、リソースツリー内の該当する場所を右クリックしてし、[New Packaged Query(新しいパッケージ化されたクエリー)]を選択します。
[New Packaged Query(新しいパッケージ化されたクエリー)]ウィンドウが開きます。
2.パッケージ化されたクエリーの名前を入力します。
3.パッケージ化されたクエリーを関連付けるデータソースを選択します。
パッケージ化されたクエリーを後で別のデータソースに関連付ける場合は、セクション「プロシージャの再バインド」で説明されている再バインド手法を使用できます。
4.[OK]をクリックします。
エディターが右側に開き、[SQL]パネルが表示されます。
[SQL]パネルを使用して、パッケージ化されたクエリーのSQLを作成および編集します。[SQL]パネルでパラメーターを定義しますが、[Parameter(パラメーター)]パネルで設計したパラメーターと順序の指定も含めて一致する必要があります。
5.パッケージ化されたクエリーの[SQL]パネルで、以下の手順を行います。
a. データベース固有のクエリーがファイルシステムにすでに存在する場合は、エディターのツールバーの[Insert from File(ファイルから挿入)]を使用してファイルをアップロードします。
ファイルのSQLが[SQL]パネルにコピーされます。
b. データベース固有のクエリーが他の場所で利用できない場合は、[SQL]パネルに入力します。文字列「<version 2>」を最初のSQL行の先頭に追加して、入力パラメーターによって渡されるnull値を処理し、文字列またはTIMESTAMP入力パラメーターの置換値に表示される可能性のある一重引用符を自動的にエスケープします。
パッケージ化されたクエリーがすでにデータソースに関連付けられているため、パッケージ化されたクエリーSQLには、リソースへのフルパス名は必要ありません。
パッケージ化されたクエリーには出力パラメーターが1つだけ必要で、これは少なくとも1つの列を持つカーソルです。以下では、データソースはorderdetails(FROM句で指定)です。
入力パラメーターのプレースホルダーとして、ゼロからNで始まる数字を囲む中括弧{N}を使用して入力パラメーターを定義します(この例では、WHERE句で指定されています)。入力パラメーターの定義と例の詳細については、「パッケージ化されたクエリーの入力パラメーターの指定」を参照してください。
注意: パッケージ化されたクエリーが、テーブルまたはカーソル出力を持つ1つのSELECTステートメントと同等である場合は、[Single Select(単一選択)]チェックボックスをオンにします。このフラグは、パッケージ化されたクエリーを派生テーブルとして処理できることをTDVクエリーエンジンに通知し、クエリープランの効率を高める可能性があります。TDVはパッケージ化されたクエリーを処理しないため、出力がこの最適化に適しているかどうかをユーザーが判断する必要があります。パッケージ化されたクエリーを[Single Select(単一選択)]としてマークすると、TDVでパッケージ化されたクエリーに述語(フィルター条件)を追加でき、準結合最適化のターゲットにすることができます。
6.[Parameters(パラメーター)]タブをクリックして、[Parameters(パラメーター)]パネルを表示します。
[Parameters(パラメーター)]パネルは、クエリーの入力パラメーターと出力パラメーターの設計に使用します。[Parameters(パラメーター)]パネルで定義するパラメーターは、順序を含め、[SQL]パネルで定義したパラメーターと一致する必要があります。すべてのパラメーターを指定したら、それらを使用して[SQL]パネルでSQLのトップダウン設計を行うことができます。
パッケージ化されたクエリーの作成」の例に進むには、[Parameters(パラメーター)]パネルで1つの出力パラメーター(UnitPrice)と2つの入力パラメーター(ProductIDとStatus)を追加します。
a. resultという名前の出力パラメーターを選択し、[Add(追加)]をクリックします。
b. データ型として[Decimal(小数点)] > [DECIMAL]を選択します。
指定したデータ型の新しいパラメーターが追加されます。
c. 新しく追加したパラメーターの名前を「UnitPrice」(出力を示す)に変更し、Enterキーを押します。
d. このパラメーターがCURSOR出力の一部であるようにするため、必要に応じて右矢印ボタンを使用して結果の右側に移動します。
e. もう1つのパラメーターを追加して、[Integer(整数)] > [INTEGER]の型を指定します。
これは、この例の最初の入力パラメーターです。CURSOR出力の一部として結果の下に配置されている場合は、ツールバーの左三角形ボタンを使用して、出力カーソルの外側に移動します。その横に右矢印アイコンが表示されます。
右矢印アイコンは入力パラメーター、左矢印アイコンは出力パラメーターを示します。
f. パラメーターの名前をProductIDに変更し、Enterキーを押します。
g. さらに、Statusという名前の入力パラメーターを追加して、[String(文字列)] > [CHAR]の型を指定します。
7.パッケージ化されたクエリーを保存します。
8.パッケージ化されたクエリーを実行します。
パッケージ化されたクエリーを実行することは、パラメーター化されたクエリーを実行することに似ています。詳細については、「パラメーター化されたクエリーの実行」を参照してください。