「問合せ」ページを使用して、データソースに対するビュー・オブジェクトの問合せを修正します。
「問合せで選択済」設定が選択されている場合、属性は問合せに含まれます。SQL導出ビュー属性には常にこの設定があります。また、デフォルトでは、エンティティ属性に基づくすべてのビュー属性にこの設定があります。
「問合せ」ページには、次の2つの操作モードがあります。
SELECT
文およびFROM
句が自動的に作成されます。必要に応じて、問合せのWHERE
句およびORDERBY句を追加できます。SELECT
文やFROM句などのSQL問合せを自由に指定する場合に役立ちます。このモードでは、「属性マッピング」ページで、SQL結果列がエンティティ属性に正しくマッピングされていることをユーザーが確認する必要があります。カスタムSQL問合せで列の位置を削除、追加または変更した場合、以前のマッピングは不適切であるため、これらの項目をマッピングしなおす必要があります。警告: エキスパート・モードに入って変更を加えた場合、エキスパート・モードを終了してモードを切り替えると、その変更が失われます。
(オプション)標準モードでは、「生成されたSQL文」フィールドは編集できません。このフィールドには、「属性」ページで選択した属性のリストに基づいて発行されたSELECT
文が表示されます。
エキスパート・モードでは、「問合せ文」フィールドに有効な任意のSQL文を入力できます。また、「ビュー・オブジェクトのXMLファイルへのカスタム・コードの追加」で説明されているように、生成されたXMLファイルにカスタムSQL問合せを直接入力するオプションもあります。
(オプション)標準モードでは、WHERE
キーワードを使用せずにWHERE
句を入力します。たとえば、部門番号を20とする制約を適用するには、次のように入力します。
DEPARTMENT_ID = 20
(オプション)ORDER BYキーワードを使用せずに、ORDER BY
句を入力します。たとえば、問合せ出力を部門番号順に並べるには、「ORDER BY」フィールドに直接DEPARTMENT_ID
と入力します。または、「編集」をクリックし、「属性の選択」ダイアログを使用して、ORDER BY
句で使用できる属性の選択および順序指定を行えます。
注意: 「ORDER BY」フィールドにリスト表示された属性は、「編集」をクリックして表示される「属性の選択」ダイアログで「OK」をクリックすると消去されます。
エキスパート・モードでは「問合せ文」フィールドに直接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構文を修正する必要があります。
ORDER BY
句を追加できますが、ランタイム・エンジンで問合せにWHERE
句を追加するような場合にも、正しく適用されるようにするために、ORDER BY
句を分離しておくと便利です。 ビュー・オブジェクトとは
エンティティ・オブジェクトとは
ビュー属性とは
ビジネス・コンポーネントのテスト
ビジネス・ロジック層におけるキャッシュ・データ処理方法
ストアド・プロシージャの使用について