実際にクエリを実行してみましょう。

DBアプリケーションをテストする場合、入出力データを確認するためにクエリの実行は避けてとおれません。PL/SQL Developerを用いると、以下のようなメリットが期待できます。

  1. クエリの作成・実行、セーブ、ロードが簡単です。
  2. クエリ結果、データがグリッド表示されます。ソートも簡単です。
  3. SELECT結果を各種フォーマット(CSV, TXT, HTML, XML)でエクスポート可能です。
  4. グリッド上でテーブルの編集が可能です。

SQLウィンドウを開く

メニューから、 FileNewSQL Window 、または、NewIconSQL Window   とすると、「SQL Window」 が開きます。

クエリの作成と実行

このWindowのSQLタブにクエリ(SELECT文)を入力して、 SessionExecute 、(F8でも可) または、
Executeボタンを押すとクエリが実行され、以下のように結果がグリッド表示されます。

Query Result

このように、PL/SQL Developerを使うと、編集したクエリをその場で実行し、結果をグリッド表示することができます
(カラムヘッダをクリックすることで並べ替えすることも可能)。検索結果の先頭10件が取得されるだけなので、大量データを返す問い合わせの場合でもすぐに反応が返ります。上図の緑の矢印ボタンの一方は次の10件をフェッチするボタンで、もうひとつが全件をフェッチするボタンです。

(注)初めての実行時、以下のようなエラーが出る場合があります。
これは、クエリのパフォーマンス情報へのアクセス権限がないユーザでのみ起こります。
したがって、クエリ自体の実行とは関係ありません。

Error Message

クエリ実行結果の書き出し

クエリの実行結果は、各種フォーマットで書き出しが可能です。(カンマ区切り、タブ区切り、HTML、XML

ExportMenu

テーブルデータの更新

SELECT文の実行結果のデータセットを編集することで、データベースを更新することも可能です。

  1. 下図の(1)のように、テーブルの ROWID を含めて取得するクエリを実行し、
  2. 下図の(2)の鍵のマークをクリックすると、鍵が外れた表示になって、データが更新可能になります。
  3. グリッド上でデータを更新して、(4)のチェックマークでレコードの更新をポストすると、
  4. トランザクションが進行して、(5)、(6)のボタンが有効になります。
  5. (5)を押すとトランザクションのコミットが行われ、更新が確定、
  6. (6)を押すとトランザクションがロールバックされてデータはもとに戻ります。(コミットを忘れるとPL/SQL Developer終了時にコミットされます。環境設定でロールバックするように変えられます)

※ なお、複数のテーブルをJOINしている場合、FROM句の一番目に挙げられたテーブルのみ更新対象にできます。

このようにPL/SQL Developer は、SQL ウィンドウごとに独立のセッションを保持しますので、テーブルのレコードロックのテストなども容易に行えます。

SQL入力支援機能

SQLの入力で面倒なのは、カラム名の入力だと思います。PL/SQL Developerでは、カラム名の入力を簡易にするため、以下のような手段が提供されています。

1.Drag&Drop

PL/SQL Developerを起動すると標準で画面左端にはデータベースオブジェクトのツリー(オブジェクトブラウザ)が表示されています。このオブジェクトツリーから、テーブルを選択し、SQLウィンドウにドラッグ&ドロップすると、ポップアップメニューが現れ、選択した形式に応じて、テーブルの定義を反映した内容がSQLウィンドウに書き込まれます。こんな機能があったとは...。

Select Into を選ぶと...

2.コード補完

テーブル名あるいは、テーブルの別名に続けて「.」(ピリオド)を入力すると、そのテーブルのカラム一覧がドロップダウンリストに表示され、そこから選択して入力することができます。たとえば、以下の例の場合、まず、"SELECT FROM EMP e, Dept d"を入力してから、カラム名入力に戻ると、「e.」と打つだけでEMPテーブルのカラムをドロップダウンリストから選択できるのです。結合クエリ(JOIN)の結合条件の入力にも大変便利です。