[Top] [Back]

PL/SQL Developer 7.0 - 新しく追加された機能

他バージョンの追加機能 8.0 7.1
PL/SQL Developer 7.0で新しく追加され主な機能を紹介します。

ダイアグラムウインドウ

ダイアグラムウインドウを使うと、オブジェクトの関係をグラフィカルに表すことができます。 アプリケーションやプロジェクトで使われているデータベースオブジェクトと、それらの関係を視覚的に表すことができるので、理解が容易になります。

テーブルに限らず、関連する任意のオブジェクトをダイアグラムに追加し、関連を図示すことが可能です。テーブル間の外部キーは、自動的に追加されます。 ダイアグラムが複雑になる場合、グループを作成することで分かり易く整理できます。

ダイアグラムをドキュメントとして使用できるのはもちろんですが、ワークスペースとしても活用することができます。 オブジェクトを右マウスボタンでクリックすることにより、ポップアップメニューからオブジェクトブラウザと同じような操作を選択・実行できます。 また、オブジェクトをダブルクリックすると、オブジェクトの型に従ってデフォルトアクションを実行します。

グラフウインドウ

グラフ表示を使うと、SQLウインドウやレポートウインドウに表示されているデータを簡単にグラフ化できます。 以下、SQLウインドウのデータをグラフ表示してみましょう。

結果をグラフ化するには、まず[グラフ]ボタンをクリックします。 同じボタンがレポートウインドウにもあります。 [グラフ]ボタンをクリックするとグラフウイザードが現れ、X軸、Y軸やグラフの種類を選択してグラフを作成できます。 また、[グラフ]ボタンのメニューから棒グラフ、折れ線グラフ、面グラフ、円グラフ、テンプレートを選択することで、すぐにグラフを表示させることも可能です。

グラフウインドウのボタンにより、グラフ表示のカスタマイズやコピー、印刷、エクスポートも簡単に行えます。

ODBCインポート

ODBCインポートは、任意のODBCデータソースからOracleのテーブルへデータをインポートするためのツールです。

最初に[ODBCからのデータ]ページでODBCデータソースを選択します。 テーブル一覧からテーブルを選択すると、[結果プレビュー]にデータが表示されます。

インポート元の指定が終わったら、[Oracleへのデータ]ページへ切り替え、インポート先のテーブルとカラムのマッピングをしてください。 フィールドのマッピングが完了すると、[インポート]ボタンをクリックしてOracleへデータをインポートできます。

テーブルデータの比較

開発中は、さまざまなテーブルにデータの挿入、更新、削除を行いますが、 これらの変更を他のユーザが所有している同じデータベースへも反映させたいことがあります。 また、開発環境からテスト環境や、本番環境、または別プロジェクトへ移したいこともあるでしょう。 テーブル間のデータを比較・更新するには、テーブルデータ比較ツールを使います。 まず、比較したいテーブルを選択してください。 複数テーブルを選択することもできます。

[オプション]ページでは、違いがあった場合の更新方法を指定します。

[比較]ボタンをクリックして比較を開始してください。 比較が終わると、[比較結果]ページに相違点が表示されます。

テストマネージャ

テストマネージャは、ストアドプログラムのリグレッションテストをサポートするツールです。 複数のテストスクリプトと、それぞれの入力値、期待される出力値を集めたものをテストセットとして定義します。 さらに要求されるパフォーマンス(実行時間)を指定することも可能です。

例えば、3つのテストスクリプトからなるテストセットを考えてみましょう。 選択されているテストスクリプト<DeptName.tst>は、入力値として変数p_empnoに値7499がセットされています。 そして実行後には、変数resultの値がSALESでなければならないことを示しています。

テストを実行すると、結果の値が正しいか、指定実行時間内に終了したかなどが即座に表示されます。

不合格となったテストスクリプトは、赤いアイコンとともにリストの先頭に表示されます。 この例では、DeptName(7499)の実行結果が、"SALES" ではなく "Sales" であったために不合格と判定されたのが一目で分かります。

ツールのドッキング

多くのツールをワークエリアの上下左右にドッキングさせておくことができるようになりました。

検索バー

[編集]メニューの[検索バー]を選択すると、検索バーが表示されます。 検索バーは、フローティングでも、またワークエリアの上下左右端にドッキングさせた状態でも使うことができます。 ドッキングさせておくことで、複数のエディタやウインドウをいつでも検索できるようになります。

検索にヒットした部分は、エディタでハイライト(強調)表示されます。 [次の位置へ]、[前の位置へ]ボタンをクリックすれば、順番にヒットした部分へカーソル移動します。

[検索結果]ボタンをクリックすると、ヒット箇所を階層表示する[検索結果]ウインドウが表示されます。

[検索結果]には、ウインドウ、エディタ、ヒット行が階層表示されます。 ヒット行をクリックすると、そのウインドウやエディタをアクティブにし、ヒット箇所へカーソルを移動します。

プログラムWindowの機能拡張

プログラムウインドウには、以下の機能を追加・強化しました。

名前付けルール
名前付けルールを定義しておくと、プログラムをコンパイルしたとき、または[コンパイラヒント表示]コマンドを実行したときにチェックされ、 名前付けルールに違反している名前をコンパイラヒントとして警告します。 開発プロジェクトで採用した名前付けルールを従ったチェックが可能になります。

名前付けルールには、エレメントの種類(パラメータ、変数など)毎に、 [接頭句]、[先頭文字]の種類、[続く文字]の種類、[接尾句]を指定します。 [詳細]には、ルールに合致しなかった名前が見つかった場合に表示されるメッセージを指定できます。

変数ハイライト
カーソルが変数上にあるとき、プログラム中でその変数が使われている箇所をすべて強調表示します。 いちいち検索するまでもなく、変数がどのように使われているかが一目で把握できます。

ウインドウ状態の保存オプション
[ウインドウ状態を保存]オプションを選択すると、 ウインドウの位置、ブックマーク、カラーマーク、プログラムウインドウの置き換え変数などウインドウの状態を別のファイル(<.pfi>ファイル)へ自動的に保存し、 開くときに復元します。

置き換え変数
プログラムファイルに1つ以上の置き換え変数(前に&の付いた変数)が使われているとき、 ウインドウの左下にある[&]ボタンをクリックして、置き換え変数の実際の値を指定することができます。 置き換え変数を実際の値に置換してからサーバーへ送り、コンパイルされます。

リファクタリング
リファクタリング機能を使うことで、簡単にPL/SQLプログラムの構成を変更できます。 リファクタリング機能は、エディタ中の選択範囲、もしくはカーソルのあるPL/SQL文を対象にします。 リファクタリング機能で行える操作には、 ・変数名、パラメータ名、定数などの名前の変更 ・プログラムの一部をプロシージャに変換 ・式の一部をグローバルまたはローカル定数に変換 ・代入式を初期化式に変換などがあります。

アウトライン表示のレイアウト改善
アウトライン表示のレイアウトを改善し、変数、定数、タイプ、例外が専用のフォルダ内に表示するようにしました。

SQLウインドウの拡張

SQLウインドウには、以下の機能を追加・強化しました。

マルチSQL文
SQLウインドウで複数のSQL文をまとめて実行できるようになりました。 結果は、タブ切り替えページに分かれて表示されます。


結果を表示しているタブページを切り替えると、エディタ中の対応するSQL文が強調表示されます。 SQL実行中にエラーが発生した場合は、タブに×マークが付きます。 エディタ中のSQL文にも赤いアンダーラインが付くので、簡単に区別できます。

グラフウインドウ
クエリー結果から[グラフ]ボタンをクリックするだけで、簡単にグラフを作成できるようになりました。 予めグリッドの特定部分を選択しておくことで、グラフ化するデータの範囲を制限できます。 X軸・Y軸も任意に指定可能です。

グリッド行背景を交互に変える
SQLウインドウの結果グリッドの行背景色を交互に変えることで、見易さが向上しました。


交互に変わる背景や色は、オプションにより自由に変更できます。 NULL値のセルを表すための背景色はこれに優先ため、NULL値を見逃すこともありません。

カラム集計
グリッドのデータ上を右マウスボタンでクリックし、[カラム集計]サブメニューから[合計]を選択すると、そのカラムの合計値が下端に表示されます。 合計の他にも、個数、最大値、最小値、平均値を表示させることが可能です。


グリッドの値を変更すると、カラムの集計結果も自動的に更新されます。

グリッド選択範囲の表示
複数セルを選択しているときは、「行X桁」形式で選択範囲の大きさをステータスバーに表示します。

Excelへエクスポート
Excelへエクスポートするとき、SQL文も2番目のシートにエクスポートします。

コマンドウインドウの拡張

10g SQL*Plusと互換の変数 _USER_CONNECT_IDENTIFIER をサポートしました。

カラムセパレータを制御するコマンド SET COLSEP を追加しました。 セパレータ無しにするには、SET COLSEP OFF としてください。

NEW_VALUE オプションをサポートするため、COLUMN コマンドを拡張しました。 select文を実行した結果で変数の値を設定することが可能になりました。

SET SPOOLDIRECTORY を使ってスプールのデフォルトフォルダを指定できるようになりました。 この指定は、相対パスを使った SPOOL コマンドで参照されます。

セッションウインドウの拡張

セッションウインドウの以下の機能を強化・拡張しました。

セッションフィルタ
表示するセッションやカラムの種類と順番を制御するフィルタを定義できるようになりました。 v$sessionテーブルの必要なカラムだけを選択・表示できます。 また、他のテーブルの値を表示させることも可能です。 セッションウインドウのツールバーから、定義されているフィルタを選択してください。

上図では、「All Sessions」フィルタが選択されています。 ツールバーの[セッションクエリー定義]ボタンをクリックすると、 以下の[セッションクエリー定義]ダイアログボックスが表示されます。


[フィルタ]ページでは、セッションのフィルタを定義します。 [名前]は、セッションウインドウのフィルタリストに表示される名前です。 ここで指定したクエリーの結果がセッションリストへ表示されます。

ヒントの連結
セッションの詳細情報を取り出すSQL文の中に /* concatenate */ と記述することにより、 得られた複数レコードの値を連結して表示します。

【例】
    select sql_text from v$sqltext_with_newlines
    where address = hextoraw(:sql_address)
    and hash_value = :sql_hash_value
    order by piece
    /* concatenate */

このクエリー結果のすべての sql_text を連結し、セッション詳細グリッドの値として表示します。

CLOB と LONG カラム
セッション詳細を表示するグリッドで、CLOB と LONG をサポートしました。 CLOB や LONG の値が複数行になっているときでも、行の高さを自動的に調整して表示します。

エディタの拡張

エディタに以下の機能を拡張・追加しました。

グローバルジャンプ履歴
同じエディタウインドウ内に限らず、別エディタウインドウへカーソルを移動させたときにもジャンプ履歴を記録します。 メインツールバーに[ジャンプ履歴を使って戻る]、[ジャンプ履歴を使って進む]ボタンをクリックすることで、 記録されているジャンプ履歴に従って簡単に前後できます。

ブックマーク一覧
ブックマーク一覧は、覚えたおきたい箇所に付けたブックマークを階層表示します。


それぞれのウインドウの下に行番号などと共にブックマークが表示されています。 ブックマークをクリックすると、そのエディタをアクティブにしてブックマーク行へジャンプします。 ブックマーク一覧をドッキングさせておけば、いつでも簡単にジャンプできます。

カラーマーク
カラーマークは、マーカーペンでテキストの任意の部分に印を付ける機能です。 テキストを選択して[カラーマーク]ボタンをクリックしてください。 背景色がマーカー色に変わります。 マーカーの色はカスタマイズできます。


選択サブメニュー
選択範囲を右マウスクリックして表示されるポップアップメニューに、[選択]サブメニューを追加しました。 選択範囲を対象にした色々な操作を選択できます。 メインの[編集]メニューにも[選択]サブメニューが追加されています。

グリッドの機能拡張

グリッドの以下の機能を追加・拡張しました。

オブジェクトグリッドフィルタ
ユーザオブジェクトのエクスポート、テーブルデータの比較など、 オブジェクトを表示するすべてのグリッドで、フィルタが設定できるようになりました。 グリッドのカラムヘッダをダブルクリックすると、そのカラムのフィルタ条件を入力するダイアログボックスが表示されます。 フィルタには、複数文字にマッチする % や *、一文字にマッチする _、? のようなワイルドカード文字も使用できます。

例えば、[名前]カラムのヘッダをダブルクリックし EMP% をフィルタとして設定すると、 名前が EMP で始まるオブジェクトだけが表示されるようになります。
グリッドを右マウスクリックし[オブジェクトフィルタ保存]を選択すると、設定したフィルタを保存できます。 保存したフィルタは、[オブジェクトフィルタ読み込み]を使っていつでも再利用可能です。

グリッドの検索
エディタだけの機能であった検索が、まったく同じ操作でグリッドでも使えるようになりました。 グリッドにカーソルがあるとき、Ctrl+Fキーをタイプし、探したい文字列を入力してください。

ファイルフォーマットの設定

[設定]ダイアログボックスの[ファイル]>[フォーマット]で、ファイルのフォーマットを指定できるようになりました。


改行コードオプションでは、テキストファイルの改行コードをWindows形式(CR-LF)にするか、Unix/Linux形式(LF)にするかを指定できます。 それに加えて、特定のフォルダとそのサブフォルダに保存するファイルフォーマットをUnix/Linux形式(LF)にするよう設定することも可能です。

CSV形式でデータをエクスポートするとき[必要に応じて引用符を付ける]オプションをONにしておくと、 引用符の必要な値だけに引用符を付けるようにできます。 例えば、それ自身にコンマ(,)や引用符(")を含んでいるような値です。 OFFにすると、すべての値に引用符を付けます。

Oracleファイルシステム (OFS)

Oracleファイルシステム(以下OFS)は、ソース、スクリプト、レポートなどのファイルをOracleデータベースへ保存する仕組みです。 データと関連するファイルをすべてまとめて同じデータベースに保存できるメリットがあります。 データベースを共有するすべてのユーザからアクセスできるのも便利です。 さらに、データベースオブジェクトと関連ファイルの一貫性が保ち易く、バックアップやリカバリーも共通の操作で可能です。

OFS専用のファイル選択ダイアログボックスを使うことで、普通のファイルと同じように保存したり開いたりできます。

OFSマネージャ
PL/SQL DeveloperからOFSを利用する前に、OFSマネージャを使ってOFSロケーションディレクトリを定義しなければなりません。 そしてそれぞれのロケーション毎に、OFSデータベースオブジェクトをインストールします。

OFSマネージャを使ってOFSファイルの保存場所を管理します。 OFSロケーションの追加、OFSロケーションが定義されているファイル(<.ldf>ファイル)の保存などです。 PL/SQL Developerは、<.ldf>ファイルを参照しながら読み出し、または保存するデータベースへ接続します。