ビュー・オブジェクト・ウィザード - 「問合せ」ページ
「問合せ」ページを使用して、データソースに対するビュー・オブジェクトの問合せを修正します。
「問合せ」ページには、次の2つの操作モードがあります。
- 標準モードはより簡単で確実な方法です。ほとんどの問合せで利用できます。ビュー・オブジェクトの基礎となるエンティティ・オブジェクトと、「問合せで選択済」設定があるビュー属性に基づいて、SQL文の
SELECT
文およびFROM
句が自動的に作成されます。必要に応じて、問合せのWHERE
句およびORDERBY句を追加できます。
- エキスパート・モードは、
SELECT
文やFROM句などのSQL問合せを自由に指定する場合に役立ちます。このモードでは、「属性マッピング」ページで、SQL結果列がエンティティ属性に正しくマッピングされていることをユーザーが確認する必要があります。カスタムSQL問合せで列の位置を削除、追加または変更した場合、以前のマッピングは不適切であるため、これらの項目をマッピングしなおす必要があります。
また、エキスパート・モードを使用して、ビュー・オブジェクトからSQL問合せを削除することもできます。データの挿入のみを行う場合にSQL問合せを削除して、最初の問合せに伴う起動時間を節約したり、一貫性のある同一のビジネス・コンポーネント・インタフェースを使用してデータの一時的なコレクションを定義し、ユーザー・インタフェースへのデータのバインディングを容易にする場合があります。
警告: エキスパート・モードに入って変更を加えた場合、エキスパート・モードを終了してモードを切り替えると、その変更が失われます。
- 生成されたSQL文、問合せ文
- 標準モードでは、「生成されたSQL文」フィールドを編集できません。このフィールドには、「属性」ページで選択した属性のリストに基づいて発行されている
SELECT
文が表示されます。
エキスパート・モードの場合は、「問合せ文」フィールドに任意の有効なSQL文を入力できます。
- WHERE
- 標準モードでは、
WHERE
キーワードを使用せずにWHERE
句を入力します。たとえば、部門番号を20とする制約を適用するには、次のように入力します。
DEPARTMENT_ID = 20
- ORDER BY
- ORDER BYキーワードを使用せずに、
ORDER BY
句を入力します。たとえば、問合せ出力を部門番号順に並べるには、「ORDER BY」フィールドに直接DEPARTMENT_ID
と入力します。または、「編集」をクリックし、ORDER BY
句で使用できる属性を選択および順序指定できます。
エキスパート・モードでは「問合せ文」フィールドに直接ORDER BY
句を追加できますが、ランタイム・エンジンで問合せにWHERE
句を追加する場合のために、ORDER BY
句を分離しておくと便利です。ORDER BY
句を別にしておくと、これらが正しく適用されます。
- エキスパート・モード
- SQL問合せを直接編集する場合は、「エキスパート・モード」を選択します。エキスパート・モードでは、問合せ文を直接編集できるため、文全体を細かく制御できます。エキスパート・モードでは、
WHERE
句やORDER BY句のみの文でなく、任意の有効なSQL文を入力できます。
エキスパート・モードに入って変更を加えた場合、エキスパート・モードを終了してモードを切り替えると、その変更が失われる場合があります。
- パラメータに"?"を使用
- 選択または選択解除して、次のSQLの例のように「?」または「:n」のどちらのスタイルのパラメータをビュー・オブジェクトに渡すかを決定します。
WHERE ? = foo AND ? = bar
WHERE :2 = bar AND :1 = foo AND :1 != :2
1番目の例では、パラメータは順番に処理されます。2番目の例では、パラメータは再利用および並替えができます。
注意: ビュー・リンクでは、リンク先ビュー・オブジェクトで指定されたパラメータ・スタイルを使用します。一度このスタイルが設定され、ビュー・リンクが作成されると、変更するには編集ウィザードでそれぞれのビュー・リンクを調べ、SQL構文を修正する必要があります。
- 実行計画
- ビュー・オブジェクトまたはビュー・リンクのSQLに対してOracleオプティマイザが選択した実行計画を表示する場合にクリックします。実行計画とは、SQLを実行するために行う一連の操作です。
- テスト
- SQL問合せの構文が有効かどうかをテストするには、「テスト」をクリックします。それ以外のチェックは実行されません。構文が有効な場合、コードが有効であることを伝えるメッセージが返されます。構文が無効な場合、エラー・メッセージが返されます。
Copyright © 1997, 2004, Oracle. All rights reserved.