SQLビルダ


SQLビルダを使用すると、GUI操作によってSQL文を生成する、または既存のテキストベースSQLをGUIイメージに展開する事が可能になります。

SQLビルダ機能を含む SQL 実行画面は、下記の4つの部位で構成されています。

項目名 説明
ダイアグラム部 SQLを構成するテーブル、ビュー、サブクエリと、それらを結合する条件式をイメージ表示します。

画面の左側には、SQL 文の種類の決定、テーブルの追加/削除を行うツールボタンが並びます。

SQLタイプ選択...
生成する SQL 文の種類を指定します。
SELECT / INSERT / UPDATE / DELETE のいずれかを選択します。

テーブル追加...
ダイアグラム上に、テーブル/ビューを追加します。

テーブル削除...
ダイアグラム上から、テーブル/ビュー/サブクエリを削除します。

ダイアグラムへのテーブルの追加は、上記ツールボタンを使用する他にも、オブジェクトリスト・ワークスペースからのドラッグ&ドロップ操作によっても行う事が出来ます。

個々のテーブルイメージは、[別名]を入力するテキストボックスと、テーブルが持つ列情報のリストで構成されています。
列情報のリスト部は、ダブルクリックまたはグリッド部へのドラッグ&ドロップ操作により、グリッド部への列情報の追加が出来ます。
また、2つのテーブル情報の列をドラッグ&ドロップ操作する事で、その2つの列を使用した結合条件を生成します。
グリッド部 SQLの列情報及び列に対する条件式等が表形式に展開されます。
列情報は、グリッド部に直接入力していく事も可能ですし、ダイアグラム部のテーブル列情報をダブルクリク、もしくはドラッグ&ドロップ操作により追加していくことが出来ます。

画面の左側には、グリッド内の列情報を操作するツールボタンが並びます。

列の追加...
カーソル位置に空白行を挿入します。

列の削除...
カーソル位置の列情報を削除します。

上に移動...
カーソル位置の列情報を、グリッド上一つ上に移動します。

下に移動...
カーソル位置の列情報を、グリッド上一つ下に移動します。


グリッド部の各列は、以下の情報・用途を表します。

項目名/式...
SQL 文中の列情報を指定します。
ドロップダウン操作により、ダイアグラム部に登録されたテーブルの列情報を選択する事もできます。

別名・値...
SELECT 文の場合は、必要に応じて列の別名を指定します。
INSERT/UPDATE 文の場合は、[項目名]で指定した項目への更新内容を指定します。
DELETE 文の場合は入力の必要はありません。

表示...
[項目名]で指定した列を、SELECT 文の結果に含めたい場合にチェックを入れます。
SELECT 文の場合にのみ有効です。

ソート...
[項目名]で指定した列でソートをかけたい場合に、ソート方向を指定します。ソート方向を指定すると、ソート順序が自動セットされます。
SELECT 文の場合にのみ有効です。

ソート順序...
[項目名]で指定した列でソートをかけたい場合、かつソート項目が複数ある時は、ここでソート順序を指定します。ソート方向が指定されていない場合は自動でセットされます。
SELECT 文の場合にのみ有効です。

グルーピング...
[項目名]で指定した列でグルーピングを行いたい場合は、ここに[GROUP BY]と指定します。
[項目名]で指定した列に集合演算を行いたい場合は、ドロップダウンリストより該当する集合関数を選択します。
グルーピング後の情報に対して抽出条件を指定したい場合は、ここに[HAVING]と指定し、[抽出条件]欄に条件を指定します。
SELECT 文の場合にのみ有効です。

抽出条件...
[項目名]で指定して列を使ってデータを抽出したい場合、その条件をここに指定します。
[グルーピング]の欄に[GROUP BY]または[HAVING]と指定した場合は、この条件は HAVING句として SQL 文に適用されます。それ以外の場合は WHERE 句として SQL 文に適用されます。
SQLエディタ ダイアグラム部・グリッド部で設定された情報を元に、SQL 文を自動生成して表示します。
また、エディタ内で SQL 文を直接編集し、その結果をダイアグラム部・グリッド部へ反映させる事もできます。
※SQL文の修正内容を反映させるには、ダイアグラム部またはグリッド部の適当な場所をクリックして下さい。
実行結果 SQLエディタある SQL を実行した結果が表示されます。

■ 主な操作手順

・GUIにて SQL 文を生成する場合(フォワード)
①ダイアグラム部にある[SQLタイプ選択]\ボタンを押し、生成する SQL の種類を決定します。
②ダイアグラム部に SQL を構成するテーブル、ビューオブジェクトを登録していきます。
③ダイアグラム部に登録されたテーブルから、SQL文に使用する列をグリッド部に登録していきます。
④グリッド部のソート、グルーピング、抽出条件を必要に応じて入力していきます。
⑤この時点で SQL エディタには実行予定の SQL 文が生成されていますので、問題なければ[実行]ボタンを押し、結果を取得します。

・SQL エディタにて SQL 文を入力する場合(リバース)
①SQLエディタで、SQL 文を入力していきます。
②入力した SQL を GUI イメージとして表示したい場合は、ダイアグラム部またはグリッド部の適当な場所をマウスクリックします。
③[実行]ボタンを押し、結果を取得します。

上にある2つの方法は、組み合わせて使用する事もできます。
例えば、 GUI 操作でテーブルと列名を指定し、生成された SQL 文に直接 WHERE 条件式を記述したり、SQL文を途中まで入力した状態で GUI イメージ化し、GUI にてテーブルの連結操作の作業を行う等、GUI 部と SQL エディタ部を行き来しながら一つの SQL 文を作成していきます。

■ SQLビルダの制限事項

SQLビルダには、下記の条件に当てはまる SQL 文に対応していません。
・SELECT / INSERT / UPDATE / DELETE 文以外の SQL 文。
・UNION または FOR UPDATE 句を含む SELECT 文。
・INSERT ~ SELECT 文
・JOIN 句によるテーブル結合
・その他 GUI イメージ生成時に警告メッセージの出る SQL 文

これらの SQL 文については、SQL エディタと実行結果部のみ有効になりますので、SQL の実行自体は問題なく行われますが、ダイアグラム部、グリッド部を使った GUI 編集は出来ませんので注意して下さい。