ビュー・オブジェクト・ウィザード - 「問合せ」ページ

「問合せ」ページを使用して、データソースに対するビュー・オブジェクトの問合せを修正します。

「問合せで選択済」設定が選択されている場合、属性は問合せに含まれます。SQL導出ビュー属性には常にこの設定があります。また、デフォルトでは、エンティティ属性に基づくすべてのビュー属性にこの設定があります。

「問合せ」ページには、次の2つの操作モードがあります。

警告: エキスパート・モードに入って変更を加えた場合、エキスパート・モードを終了してモードを切り替えると、その変更が失われます。

生成されたSQL文、問合せ文

(オプション)標準モードでは、「生成されたSQL文」フィールドは編集できません。このフィールドには、「属性」ページで選択した属性のリストに基づいて発行されたSELECT文が表示されます。

エキスパート・モードでは、「問合せ文」フィールドに有効な任意のSQL文を入力できます。また、「ビュー・オブジェクトのXMLファイルへのカスタム・コードの追加」で説明されているように、生成されたXMLファイルにカスタムSQL問合せを直接入力するオプションもあります。

WHERE

(オプション)標準モードでは、WHEREキーワードを使用せずにWHERE句を入力します。たとえば、部門番号を20とする制約を適用するには、次のように入力します。

DEPARTMENT_ID = 20

ORDER BY

(オプション)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構文を修正する必要があります。

テスト
SQL問合せの構文が有効かどうかをテストするには、「テスト」をクリックします。それ以外のチェックは実行されません。構文が有効な場合、コードが有効であることを伝えるメッセージが返されます。構文が無効な場合、エラー・メッセージが返されます。

 

 

標準モードでSQL問合せを指定するには、次のようにします。

  1. 「エキスパート・モード」が選択されていないことを確認します。
  2. パラメータを使用する場合は、「パラメータに"?"を使用」を選択します。
  3. オプションで、「WHERE」フィールドまたは「ORDER BY」フィールド(あるいはその両方)に句を入力します。
    「編集」をクリックし、ダイアログを使用してORDER BY句を追加できます。
  4. 「テスト」をクリックして問合せをテストします。
    必要に応じて修正します。

エキスパート・モードでSQL問合せを指定するには、次のようにします。

  1. 「エキスパート・モード」を選択します。
    デフォルトのSQL文が編集可能になります。
  2. パラメータを使用する場合は、「パラメータに"?"を使用」を選択します。
  3. 「問合せ文」フィールドにカスタムSQL文を入力します。オプションで、「ORDER BY」フィールドに句を入力するか、「編集」をクリックしてORDER BY句を追加します。
    エキスパート・モードでは「問合せ文」フィールドに直接ORDER BY句を追加できますが、ランタイム・エンジンで問合せにWHERE句を追加するような場合にも、正しく適用されるようにするために、ORDER BY句を分離しておくと便利です。
  4. 「テスト」をクリックして問合せをテストします。
    必要に応じて修正します。
  5. 「属性マッピング」ページを開き、ビュー属性とデータソースのマッピングが正しいことを確認します。


関連項目
ビュー・オブジェクトとは
エンティティ・オブジェクトとは
ビュー属性とは
ビジネス・コンポーネントのテスト
ビジネス・ロジック層におけるキャッシュ・データ処理方法
ストアド・プロシージャの使用について