SQLウィザード(検索系)

SQLウィザードとは

SQLウィザードとは、SQL文をウィザード形式で作成することができる機能です。

SQLウィザード(検索系)の起動

SQLウィザードの起動は、データベースアダプタの検索系SQL実行処理のプロパティ設定ダイアログで、[SQLウィザードの起動]を押下して行います。

SQLウィザード(検索系)の画面構成

基本情報の設定画面



画像内の番号 名称 説明 備考
(1) テーブル一覧ビュー テーブルの一覧を表示します。
  • グローバルリソースの一覧設定で指定した制限数のテーブルが表示されます。
(2) テーブル情報ペイン 選択したテーブルの情報を表示します。
  • テーブル構造・テーブル内容・テーブル関連情報を表示します。
  • [テーブル構造]タブで表示される情報については、テーブル構造を参照してください。
  • [テーブル内容]タブで表示される情報については、テーブル内容を参照してください。
  • [テーブル関連情報]タブで表示される情報については、テーブル関連情報を参照してください。
(3) テーブルまたはカラムを追加する テーブル情報ペインの[テーブル構造]タブで選択したカラムを抽出カラムエディタに追加します。
  • テーブル一覧ビューでテーブルを選択し[テーブルまたはカラムを追加する]を押下すると、すべてのカラムを読み取り対象にすることができます。
(4) 抽出カラムエディタ 読み取りカラムの記述順や別名(抽出結果のカラム名)を設定します。
  • 別名は、SQL文の実行結果やMapperのスキーマに使用されます。
(5) 上へ 読み取りカラムを上へ移動します。  
(6) 下へ 読み取りカラムを下へ移動します。  
(7) 削除 読み取りカラムを削除します。  
(8) SQLステートメント生成 設定をもとにSQL文を自動生成します。  

結合条件設定画面



画像内の番号 名称 説明 備考
(1) 結合条件一覧ビュー 読み取りテーブル間の結合条件の一覧を表示します。
  • 一覧に表示している順序でSQL文が作成されます。
(2) 結合条件エディタ 読み取りテーブル間の結合条件を設定します。
  • 設定した結合条件は、結合条件一覧ビューに表示されます。
(3) 結合条件の編集 結合条件を追加、編集、削除します。
  • 結合条件を編集するには、結合条件一覧ビューで結合条件を選択して[編集]を押下してください。
  • 結合条件を新規に追加するには、[追加]を押下してください。
  • 結合条件を削除するには、結合条件一覧ビューで結合条件を選択して[削除]を押下してください。
(4) 結合条件の種類 結合の種類を設定します。
  • [両方のテーブルのカラム値が同じ行だけ含める(INNER JOIN)]
  • [左側の全レコードと右側のカラム値が一致するレコードを含める(LEFT OUTER JOIN)]
  • [右側の全レコードと左側のカラム値が一致するレコードを含める(RIGHT OUTER JOIN)]
 
(5) 対象テーブル名・対象カラム名 結合するテーブル名およびカラム名を設定します。  
(6) リレーションテーブル名・リレーションカラム名 結合するテーブル名およびカラム名を設定します。  

抽出条件とソート条件の設定画面(抽出条件)



画像内の番号 名称 説明 備考
(1) 抽出条件一覧ビュー 読み取りテーブルに対する抽出条件の一覧を表示します。
  • 一覧に表示している順序でSQL文が作成されます。
(2) 上へ 抽出条件を上へ移動します。  
(3) 下へ 抽出条件を下へ移動します。  
(4) 抽出条件エディタ 読み取りテーブルに対する抽出条件を設定します。
  • 設定した抽出条件は、抽出条件一覧ビューに表示されます。
(5) 抽出条件の編集 抽出条件を追加、編集、削除します。
  • 抽出条件を編集するには、抽出条件一覧ビューで抽出条件を選択して[編集]を押下してください。
  • 抽出条件を新規に追加するには、[追加]を押下してください。
  • 抽出条件を削除するには、抽出条件一覧ビューで抽出条件を選択して[削除]を押下してください。
(6) テーブル名・カラム名 抽出条件を指定するテーブル名およびカラム名を設定します。  
(7) 条件の種類 抽出条件の種類を設定します。
  • [(直接指定)]
  • [次の値と等しい場合]
  • [次の値と等しくない場合]
  • [次の値より大きい場合]
  • [次の値より小さい場合]
  • [次の値以上の場合]
  • [次の値以下の場合]
  • [(直接指定)]を指定した場合、[値]で入力した内容をそのままSQL文に追加します。
  • [次の値と等しい場合]を指定した場合、「[テーブル名].[カラム名] =[値]」形式でSQL文に条件を追加します。
  • [次の値と等しくない場合]を指定した場合、「[テーブル名].[カラム名] !=[値]」形式でSQL文に条件を追加します。
  • [次の値より大きい場合]を指定した場合、「[テーブル名].[カラム名] >[値]」形式でSQL文に条件を追加します。
  • [次の値より小さい場合]を指定した場合、「[テーブル名].[カラム名] <[値]」形式でSQL文に条件を追加します。
  • [次の値以上の場合]を指定した場合、「[テーブル名].[カラム名] <=[値]」形式でSQL文に条件を追加します。
  • [次の値以下の場合]を指定した場合、「[テーブル名].[カラム名] >=[値]」形式でSQL文に条件を追加します。
(8) 読み取りカラムの条件を指定します。
  • 対象となる読み取りカラムのデータ型によって、[値]には自動的にシングルクォートが付加されます。
    自動付加が適用されるデータ型については「シングルクォートの自動付加」を参照してください。
  • [条件の種類][(直接指定)]を指定した場合、[値]の書式はデータベースごとの仕様に合わせてください。
    例:
    • 条件カラムの値が「商品A」のレコードを読み取り対象とする場合の設定は、「='商品A'」
    • 条件カラムの値が「商品A」または「商品B」を含む場合の設定は、「IN('商品A','商品B')」
(9) 条件接続の種類 複数条件の論理演算子を指定します。
  • [AND]
  • [OR]
 

抽出条件とソート条件の設定画面(ソート条件)



画像内の番号 名称 説明 備考
(1) ソート条件一覧ビュー 読み取りテーブルに対するソート条件の一覧を表示します。
  • 一覧に表示している順序でSQL文が作成されます。
(2) 上へ ソート条件を上へ移動します。  
(3) 下へ ソート条件を下へ移動します。  
(4) ソート条件エディタ 読み取りテーブルに対するソート条件を設定します。
  • 設定したソート条件は、ソート条件一覧ビューに表示されます。
(5) ソート条件の編集 ソート条件を追加、編集、削除します。
  • ソート条件を編集するには、ソート条件一覧ビューでソート条件を選択して[編集]を押下してください。
  • ソート条件を新規に追加するには、[追加]を押下してください。
  • ソート条件を削除するには、ソート条件一覧ビューでソート条件を選択して[削除]を押下してください。
(6) テーブル名・カラム名 ソート条件を指定するテーブル名およびカラム名を設定します。  
(7) ソート順 読み取りカラムのソート順を設定します。
  • [昇順]
  • [降順]
 

SQLステートメント内容とテスト実行画面



画像内の番号 名称 説明 備考
(1) SQLステートメントタブ 自動生成されたSQL文を表示します。  
(2) 実行結果タブ テスト実行時の結果データを表示します。  
(3) エラータブ テスト実行時にエラーが発生した場合、そのエラーを表示します。  
(4) SQL文エディタ 自動生成されたSQL文の編集を行うことができます。
SQLウィザードでは生成できないSQL関数を記述することも可能です。
  • 手動で編集した場合、SQLウィザードで再編集を行うことはできません。
(5) 仮引数の設定 抽出条件でスクリプト変数を利用している場合、スクリプト変数を設定した[値]に置き換えてSQL文をテスト実行できます。
[変数に仮引数を設定してテストを実行する]にチェックを入れた場合、有効になります。
  • 環境変数、SQLパラメータに仮引数を指定することはできません。
(6) テスト実行 SQL文を実行します。  

SQL文の生成

SQL文の生成は、以下の手順で行います。
  1. テーブル一覧ビューから読み取り対象のテーブルを選択し、[テーブルまたはカラムを追加する]を押下します。(読み取りカラムを指定する場合は、テーブル情報ペインで対象となるカラムを選択します。)

  2. 読み取り対象カラムの定義順や別名を指定する場合は、抽出カラムエディタで設定を行います。

  3. 以上の設定でSQL文の生成を行う場合には、[SQLステートメント生成]ボタンを押下します。
    複数テーブルによる結合を行う場合には、「複数テーブルの結合」を参照してください。
    読み取りテーブルには指定せず結合条件だけにテーブルを指定したい場合には、「読み取りテーブルに指定されていないテーブルを結合するには」を参照してください。
    読み取り条件の指定を行う場合には、[次へ]ボタンを押下し、「抽出条件の指定」「ソートの指定」を参照してください。

  4. [SQLステートメント]タブのSQL文エディタに生成されたSQL文が表示されます。
    [了解]ボタンを押下すると、SQL文が保存され、SQLウィザードが終了します。

  5. 生成したSQL文を実際に実行したい場合には、[テスト実行]ボタンを押下します。

  6. 実行した結果は、[実行結果]タブに表示します。

  7. テスト実行時にエラーが発生した場合、[エラー]タブにエラー内容を表示します。

  8. [了解]ボタンを押下すると、生成したSQL文が保存され、SQLウィザードが終了します。

  9. SQL文の再編集を行う場合は、再度検索系SQL実行処理のプロパティ設定ダイアログで[SQLウィザードの起動]を押下してSQLウィザードを起動します。
    SQLウィザードで作成されたSQL文を手動で編集した場合、SQLウィザードで再編集を行うことはできません。

複数テーブルの結合

複数テーブルの結合を行う場合は、以下の手順で行います。
  1. [結合条件の設定]画面で[追加]を押下します。

  2. 結合条件エディタで結合キーとするカラムを[対象テーブル名][対象カラム名]および[リレーションテーブル名][リレーションカラム名]に指定します。

  3. [結合条件の種類]を選択します。
    項目の説明
    項目名 説明 備考
    [両方のテーブルのカラム値が同じ行だけ含める(INNER JOIN)] 左側と右側双方のテーブルのカラムの値が一致するレコードのみを結果データとします。
    • 左側とは、[対象テーブル名][対象カラム名]で指定したカラムを指します。
    • 右側とは、[リレーションテーブル名][リレーションカラム名]で指定したカラムを指します。
    [左側の全レコードと右側のカラム値が一致するレコードを含める(LEFT OUTER JOIN)] 左側のテーブルはすべてのレコードを、右側のテーブルはカラムの値が一致するレコードのみを結果データとします。  
    [右側の全レコードと左側のカラム値が一致するレコードを含める(RIGHT OUTER JOIN)] 右側のテーブルはすべてのレコードを、左側のテーブルはカラムの値が一致するレコードのみを結果データとします。  

    例:以下の2つのテーブル「Products」と「Sales」を、「品番」をキーとして結合します。

    Products Sales
    品番製品名
    1商品A
    2商品B
    4商品D
    品番注文個数
    110
    230
    350

読み取りテーブルに指定されていないテーブルを結合するには

[対象テーブル名][リレーションテーブル名]には[基本情報の設定]画面で抽出カラムエディタに追加されたテーブルが表示されます。
抽出カラムエディタに追加されていないテーブルを結合条件に指定する場合には、一度抽出カラムエディタに対象のテーブルを追加して結合条件を設定したあと、[基本情報の設定]画面に戻って対象テーブルを削除する必要があります。
上記のようなSQLを作成したい場合は、以下の手順で行います。
  1. [基本情報の設定]画面で「tableA」と「tableB」を抽出カラムエディタに追加します。

  2. [次へ]を押下して[結合条件の設定]画面に遷移します。

  3. 「tableA」と「tableB」の結合条件を作成します。

  4. [戻る]を押下して[基本情報の設定]画面に遷移し、抽出カラムエディタから「tableB」を削除します。

  5. [SQLステートメント生成]ボタンを押下します。

抽出条件の設定

抽出条件の設定は、以下の手順で行います。
  1. [抽出条件とソート条件の設定]画面で[抽出条件]タブを選択し、[追加]を押下します。

  2. 抽出条件エディタで、条件設定の対象となるカラムを[テーブル名][カラム名]に指定します。

  3. 抽出条件エディタで、[条件の種類][値]を指定します。

  4. 複数のカラムによる条件が必要な場合は、論理演算子(AND・OR)を設定します。
    [条件接続の種類]のリスト[AND][OR]から選択します。

ソート順の設定

ソート順の設定は、以下の手順で行います。
  1. [抽出条件とソート条件の設定]画面で[ソート条件]タブを選択し、[追加]を押下します。

  2. ソート条件エディタで、条件設定の対象となるカラムを[テーブル名][カラム名]に指定します。

  3. ソートするカラムのソート順を、[ソート順]カラムのリスト[昇順][降順]から選択します。

シングルクォートの自動付加

対象となるカラムのデータ型が以下のいずれかの場合、抽出条件エディタで設定する[値]には自動的にシングルクォートが付与されます。

仕様制限

主な例外

ありません。