Oracle問合せウィンドウについて

Oracle問合せウィンドウでは、SQLおよびPL/SQL文の結果の入力、編集、実行および表示ができます。さらに、パフォーマンス・チューニングに有効なSQL文の実行計画を実行できます。

Oracle問合せウィンドウは2つのペインで構成されています。上部はエディタで下部は出力ウィンドウです。

このセクションの内容は次のとおりです。

Oracle問合せウィンドウのオープン

次のように、コレクションまたはオブジェクト・ノードからOracle問合せウィンドウが開きます:

サーバー・エクスプローラで、コレクションまたはオブジェクト・ノードを展開し、メニューから「Query Window」を選択します。「Data Connection」ノードから開いている場合は、名前付き接続を右クリックしてから「Query Window」を選択する必要があります。このメニューを使用できるのは、データ接続が確立されているか、すでに開いている場合のみです。

「Data Connection」ノードから問合せウィンドウを開くと、問合せウィンドウは内部的に独自の接続を使用します。この接続は、その「Data Connection」ノードに基づいていますが独立したものです。作成された問合せウィンドウの接続プロパティは変更されません。データ接続ウィンドウではユーザーがデータ接続のプロパティを編集できますが、問合せウィンドウの接続は影響を受けません。

Oracle問合せウィンドウを使用したSQL文の実行

この項では、Oracle問合せウィンドウを使用したSQL文の実行方法について説明します。

この項の内容は次のとおりです。

SQL文の入力

SQLまたはPL/SQLを問合せウィンドウに貼り付けたり入力したりできます。

ドラッグ・アン・ドロップを使用して、問合せを自動的に生成することもできます。サーバー・エクスプローラの表またはビュー・ノードを問合せエディタにドラッグします。

IntelliSenseの使用

IntelliSenseは、SQLおよびPL/SQLに対してスマートな提案とコード補完を提供します。SQLまたはPL/SQLを入力すると、次のようにIntelliSenseを使用できます:

  • [Ctrl]+[Space]を押して、キーワードおよびオブジェクト名の状況依存候補を取得します。矢印キーと[Return]キーを使用するか、マウスを使用すると、提案から選択できます。

  • スキーマ名またはオブジェクト名の後にピリオド(".")を入力すると、提案を取得できます。プロシージャ名またはファンクション名の場合、プロシージャ名またはファンクション名の完全なシグネチャがプレースホルダ値とともに出力されます。

  • プロシージャ名またはファンクション名を入力すると、左カッコ("(")によってパラメータ情報が表示されます。入力中の現在のパラメータは太字で表示されます。

  • 変数およびオブジェクト名の上にマウスを置くと、変数またはオブジェクト名に関するクイック情報が表示されます。

IntelliSenseメタデータはキャッシュされます。データベース・オブジェクトを最近変更した場合は、「Rebuild Intellisense」ツールバー・アイコンまたはメニュー項目をクリックして、最新の提案を取得します。

提案の小文字での取得など、提案の大/小文字を変更するには、「IntelliSense設定の「Options」ページ」を参照してください。

SQL文の実行

問合せウィンドウでSQLまたはPL/SQL文を実行するには:

  1. 複数のSQL文があり、その1つを実行する場合、実行するSQL文を強調表示します。(強調表示しないと、Oracle問合せウィンドウにより最後のSQL文が実行されます)。

  2. Oracle問合せウィンドウまたはツールバーで「Execute」をクリックします。

画面下部のVisual Studioステータス・バーに、SQLの実行ステータスとして「Ready」、「Executing」および「Cancelling」のいずれかが表示されます。また、ステータス・バーには、タスクの推定進捗状況を示す進捗バーが表示され、問合せウィンドウの現在のカーソルの行と列の位置が示されます。

また、問合せ出力が表示され(まだ表示されていない場合)、問合せの結果が示されます。問合せ出力には、次が表示されます:

  • 実行されたSQL文。

  • グリッドまたはテキスト形式での問合せの結果。デフォルトはグリッド形式です。

  • エラー

  • PL/SQLのDBMS_OUTPUT.PUT_LINEまたは同様のメソッドからのすべての出力。

  • SQL文の影響を受けた行の数。

  • UDT列データの場合、実際のデータ表現はXML形式であり、ネストしたレベルのみが含まれています。

フェッチされる行数を制限し、行番号を一般オプション・ページに表示できます。

複数のSQL文の実行

Oracle問合せウィンドウでは、複数のSQL文およびPL/SQL無名ブロックを処理できます。

コマンドのブロックを選択(強調表示)する必要があります。問合せウィンドウに複数のコマンドがあっても、コマンドが選択されていないと、最後のコマンドしか実行されません。

自動コミットの有効化と無効化

デフォルトでは、問合せウィンドウの各文は自動的にコミットされます。

Oracle問合せツールバーで「AutoCommit Mode」をクリックすると、自動コミット・モードを無効にできます。自動コミット・モードは、有効であるか無効であるかを示すチェックまたはxが付く切替えボタンです。

自動コミットが無効である場合、COMMIT文またはROLLBACK文を明示的に実行できます。

コミットまたはロールバックを行う場合、次のOracle問合せツールバーまたは問合せエディタのいずれかを使用します。

Oracle問合せツールバー: 「Commit」をクリックして、最後のコミット以降に実行されたすべてのDML文をコミットします。「Rollback」をクリックして、最後のコミットが発行されてからDML文を使用して行われたすべての変更をロールバックします。

Oracle問合せエディタ: 文としてCOMMITまたはROLLBACKと入力し、「Execute」を選択して文を実行します。

SQL文またはPL/SQLブロックでのバインド・パラメータの使用

1つ以上のバインド変数プレースホルダをSQL文またはPL/SQLブロックに含めることができます。パラメータ・プレースホルダは、コロンとそれに続く任意の識別子(:ID:1など)で識別されます。パラメータ化されたSQLまたはPL/SQLが実行されると、「Query Parameters」ダイアログが開き、対応する値を入力できます。詳細は、「「Query Parameters」ダイアログ」を参照してください。

PL/SQLブロックとサブプログラムからの出力の表示

Oracle問合せウィンドウでは、DBMS_OUTPUTパッケージのPUT_LINENEW_LINE、およびPUTメソッドを使用して、PL/SQLブロックおよびサブプログラムからの出力を表示できます。デフォルトでは、全行は表示されないため、全行を画面に表示するには、DBMS_OUTPUT.ENABLEメソッドを使用する必要があります。このステップの実行は、問合せウィンドウを開いた後で1回のみ実行する必要があります。次に例を示します:

CREATE OR REPLACE PROCEDURE list_tables AS
BEGIN
  dbms_output.enable;
  dbms_output.put_line('These are the tables you own:');
...

DBMS_OUTPUTパッケージ・コマンドの詳細は、『Oracle Databaseアドバンスト・アプリケーション開発者ガイド』および『Oracle Database SQL言語リファレンス』を参照してください。

外部スクリプト・ファイルの実行

外部スクリプト・ファイルを実行するには、Visual Studioの表示メニューを使用し、「Run SQL*Plus Script」を選択します。