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文の生成

SQL文の生成は、以下の手順で行います。

  1. テーブル一覧ビューから読み取り対象のテーブルを選択し、[テーブルまたはカラムを追加する]をクリックします。(読み取りカラムを指定する場合は、テーブル情報ペインで対象となるカラムを選択します。)

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

  3. 以上の設定でSQL文の生成を行う場合には、[SQLステートメント生成]ボタンをクリックします。

    = 備考 =
  4. [SQLステートメント]タブのSQL文エディターに生成されたSQL文が表示されます。

    [完了]ボタンをクリックすると、SQL文が保存され、SQLウィザードが終了します。

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

    = 備考 =

    SQL文にスクリプト変数が指定されている場合、変数に値を入力して実行することが可能です。

    • 値を入力しない場合、空文字で実行されます。

    • 入力した値はスクリプトの実行には影響しません。

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

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

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

  9. SQL文の再編集を行う場合は、再度検索系SQL実行処理のプロパティ設定ダイアログで[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

    品番

    注文個数

    1

    10

    2

    30

    3

    50

    • [両方のテーブルのカラム値が同じ行だけ含める(INNER JOIN)]の場合]の場合

      結果データ:

      品番

      製品名

      注文個数

      1

      商品A

      10

      2

      商品B

      30

    •  

    • [[Products]の全レコードと、[Sales]のカラム値が一致するレコードを含める(LEFT OUTER JOIN)]の場合

      結果データ:

      品番

      製品名

      注文個数

      1

      商品A

      10

      2

      商品B

      30

      4

      商品D

       

    • [[Sales]の全レコードと、[Products]のカラム値が一致するレコードを含める(RIGHT OUTER JOIN)]の場合

      結果データ:

      品番

      製品名

      注文個数

      1

      商品A

      10

      2

      商品B

      30

      3

       

      50

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

[対象テーブル名][リレーションテーブル名]には[基本情報の設定]画面で抽出カラムエディターに追加されたテーブルが表示されます。

抽出カラムエディターに追加されていないテーブルを結合条件に指定する場合には、一度抽出カラムエディターに対象のテーブルを追加して結合条件を設定したあと、[基本情報の設定]画面に戻って対象テーブルを削除する必要があります。

例:

SELECT
tableA.* 
FROM (
tableA
INNER JOIN tableB ON tableA.primaryKey = tableB.primaryKey )

上記のようなSQLを作成したい場合は、以下の手順で行います。

  1. [基本情報の設定]画面で「tableA」と「tableB」を抽出カラムエディターに追加します。

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

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

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

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

抽出条件の設定

抽出条件の設定は、以下の手順で行います。

  1. [抽出条件とソート条件の設定]画面で[抽出条件]タブを選択し、[追加]をクリックします。

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

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

  4. 複数のカラムによる条件が必要な場合は、論理演算子(AND・OR)を設定します。

    [条件接続の種類]のリスト[AND][OR]から選択します。

ソート順の設定

ソート順の設定は、以下の手順で行います。

  1. [抽出条件とソート条件の設定]画面で[ソート条件]タブを選択し、[追加]をクリックします。

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

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

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

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

CHAR
NCHAR
VARCHAR
NVARCHAR
VARCHAR2
NVARCHAR2
TEXT
MEDIUMTEXT
LONGTEXT

仕様制限

  • データベース上のスキーマ名やテーブル名に「.」が含まれるテーブルを扱うことはできません。

  • 結果データの量が大きいと、テスト実行に失敗する場合があります。

  • [実行結果]タブに表示されるレコード件数は最大100件です。

  • 存在しないテーブルがSQL文に含まれる場合、SQL文の再編集を行うことができません。

例外メッセージ

ありません。