ヘッダーをスキップ
Oracle Database Application Expressユーザーズ・ガイド
リリース2.2
B31492-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

19 SQLコマンドの使用

このセクションでは、SQLコマンドを使用して、SQLコマンドを作成、編集、表示、実行および削除する方法について説明します。

内容は次のとおりです。


参照:

  • SQL文、および演算子、ファンクション、書式モデルなどのSQLの他の部分については、『Oracle Database SQLリファレンス』を参照してください。

  • SQLの概念については、『Oracle Database概要』を参照してください。

  • SQLのOracle版であるSQL*Plusについては、『SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください。

  • この章の例として使用されるHRサンプル・スキーマについては、『Oracle Databaseサンプル・スキーマ』を参照してください。


SQLコマンドの概要

SQLコマンドを作成、編集、表示、実行および削除するには、SQLコマンドを使用します。 SQLコマンドには、SQL文またはPL/SQLブロックを含めることができます。

SQLコマンドを使用する際は、次の点に注意してください。

SQLコマンドへのアクセス

SQLコマンドにアクセスするには、次のステップを実行します。

  1. 「作業領域」ホームページにログインします。

    「作業領域」ホームページが表示されます。

  2. 「SQLコマンド」ホームページを表示するには、次のいずれかのステップを実行します。

    • 「SQLワークショップ」「SQLコマンド」の順にクリックして、「SQLコマンド」ホームページにドリルダウンする。

    • 「SQLワークショップ」アイコンの右側にある下矢印をクリックしてドロップダウン・メニューを表示する。 次に、「SQLコマンド」メニュー・オプションを選択する。

    sql_commands.gifの説明が続きます。
    sql_commands.gifの説明


    注意:

    一貫性を保つため、このドキュメントでは、ナビゲーションを説明する際にプライマリ・ナビゲーション・パス(ドリルダウン方式)を使用します。

「SQLコマンド」ホームページ

「SQLコマンド」ホームページには、コマンド・エディタと表示ペインが含まれています。 このエディタでSQLコマンドの入力および編集を行い、出力、保存されたコマンド・リストおよび履歴リストを表示ペインに表示します。

proc_home.gifの説明が続きます。
proc_home.gifの説明

「SQLコマンド」ホームページでは、次の操作を実行できます。

SQLコマンドの実行

SQLコマンドを使用して、Application Express内でSQLコマンドを実行します。

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

SQLコマンドの実行

SQLコマンドを実行するには、次のステップを実行します。

  1. 「作業領域」ホームページで「SQLワークショップ」をクリックして、「SQLコマンド」をクリックします。

    「SQLコマンド」ページが表示されます。

  2. 実行するSQLコマンドをSQLエディタ・ペインに入力します。

  3. 実行」([Ctrl]+[Enter])をクリックして、コマンドを実行します。

    「結果」ペインに結果が表示されます。

  4. カンマ区切りファイル(.csv)として結果レポートをエクスポートするには、「ダウンロード」リンクをクリックします。

SQLコマンドでのトランザクション

SQLコマンドでトランザクションSQLコマンドを無効にするには、「自動コミット」チェック・ボックスを選択します。 トランザクション・モードが無効になっている場合にCOMMIT、ROLLBACKなどのトランザクションSQLコマンドを使用しようとすると、エラー・メッセージが戻されます。

トランザクションSQLコマンドを有効にするには、「自動コミット」チェック・ボックスを選択解除します。 Oracle Application Expressは、トランザクション・モードに入る前に、必要なシステム・リソースが使用可能であることを確認します。 リソースが使用できない場合は、エラー・メッセージが表示されます。

トランザクション・モードは、更新の実行、確認するデータの選択、COMMITまたはROLLBACKの変更などを行うことができるステートフルなトランザクション・モードです。 このモードは、DBMS_JOBSを使用して実装されます。

トランザクション・モードの次の動作を考慮してください。

  • 明示的なCOMMITコマンドを入力するまで操作はデータベースにコミットされません。

  • カレント・トランザクションは、SQLコマンドを終了すると終了し、ロールバックされます。

  • カレント・トランザクションは、セッション・タイムアウトによって終了し、ロールバックされます。

    環境設定「SQLコマンドの最大停止時間」では、停止セッション・タイムアウトまでの時間が設定されることに注意してください。 デフォルトのタイムアウトは60分です。 「SQLワークショップの構成」を参照してください。

  • CSVのエクスポート」オプションは使用できません。

サポートされていないSQL*Plusコマンド

SQLコマンドは、SQL*Plusコマンドをサポートしません。 SQLコマンドでSET ECHODEFINEなどのSQLコマンドライン・コマンドを入力しようとすると、エラー・メッセージが表示されます。

コマンドの終了

SQLコマンド内では、セミコロン(;)またはスラッシュ(/)を使用するか、あるいは何も付けずにコマンドを終了できます。 次に、有効な選択肢を示します。

SELECT * from emp;

SELECT * from emp
/

SELECT * from emp

最初の例ではセミコロン(;)、2番目の例ではスラッシュ(/)を使用しています。最後の例では、終了記号が付いていないコマンドを示しています。

バインド変数の使用

バインド変数がサポートされています。 コマンドの実行時に、バインド変数の値を入力するよう求められます。 バインド変数の前にはコロンを付けます。

次に例を示します。

SELECT * from emp where deptno = :dept

以前のリリースのOracle Application Expressでは、次のコマンドを実行して作業領域IDを確認できました。

SELECT :WORKSPACE_ID FROM dual

このリリースでは、次のSQLコマンドを実行して作業領域IDを確認します。

SELECT v('WORKSPACE_ID') FROM dual

SQLコマンドの保存

SQLコマンドでは、入力したコマンドを保存できます。

SQLコマンドを保存するには、次のステップを実行します。

  1. 「作業領域」ホームページで「SQLワークショップ」をクリックして、「SQLコマンド」をクリックします。

    「SQLコマンド」ページが表示されます。

  2. コマンド・エディタにコマンドを入力します。

  3. 保存」をクリックして、コマンドを保存します。

    コマンドの名前と説明を入力するよう求められます。

  4. 保存」をクリックするか、または「取消」をクリックして保存せずにコマンド・エディタに戻ります。

    保存されたコマンドが表示領域に表示されます。

コマンドのコピー

SQLコマンドをコピーするには、次のステップを実行します。

  1. 「作業領域」ホームページで「SQLワークショップ」をクリックして、「SQLコマンド」をクリックします。

    「SQLコマンド」ページが表示されます。

  2. コマンド・エディタと表示ペインの間にある「保存されたSQL」タブをクリックします。

    コマンドの「保存されたSQL」リストが表示ペインに表示されます。

  3. コマンドのタイトルをクリックして、そのコマンドをコマンド・エディタにロードします。

  4. 保存」をクリックして、コマンドを保存します。

  5. コマンドの新しい名前を「名前」フィールドに入力して、「保存」をクリックします。

    コマンドが新しい名前にコピーされます。

保存されたコマンドの使用

自分が保存したコマンドや、同じ作業領域内の他のユーザーが保存したコマンドにアクセスできます。 また、クエリー・ビルダーから、自分が保存したSQLコマンドまたは同じ作業領域内の他のユーザーが保存したSQLコマンドにアクセスすることもできます。

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

保存されたコマンドへのアクセス

保存されたSQLコマンドにアクセスするには、次のステップを実行します。

  1. 「作業領域」ホームページで「SQLワークショップ」をクリックして、「SQLコマンド」をクリックします。

    「SQLコマンド」ページが表示されます。

  2. コマンド・エディタと表示ペインの間にある「保存されたSQL」タブをクリックします。

    コマンドの「保存されたSQL」リストが表示ペインに表示されます。

  3. コマンドのタイトルをクリックして、そのコマンドをコマンド・エディタにロードします。

    エディタにコマンドが表示されます。

  4. 実行」をクリックして、コマンドを実行します。

「保存されたSQL」ペイン

「保存されたSQL」ペインには、現行の作業領域に保存されたすべてのコマンドのリストが表示されます。 このリストには、SQLコマンドから保存されたコマンドとクエリー・ビルダーから保存されたSQLコマンドが表示されます。 保存するSQLコマンドには、現行の作業領域内で一意の名前を指定する必要があります。 クエリー・ビルダーとSQLコマンドで同じ名前を使用することはできません。

各コマンド・エントリには、所有者名、コマンド名、SQLコマンドの最初の文字、説明が存在する場合はその説明、およびそのコマンドの最終更新者名と最終更新日時が示されます。

proc_savedsql.gifの説明が続きます。
proc_savedsql.gifの説明

「保存されたSQL」ペインでは、次の操作を実行できます。

  • 所有者別のコマンドの表示。「所有者」リストから、表示するコマンドを所有するユーザーを選択して指定します。 すべてのスクリプトを表示するには、「- すべてのユーザー -」を選択します。

  • コマンドの検索。「検索」フィールドにコマンドの名前または名前の一部、あるいはコード・スニペットを入力して、「実行」をクリックします。 すべてのスクリプトを表示するには、「検索」フィールドを空のままにして「実行」をクリックします。 「行」リストから選択して、表示する行数を制御します。

  • 出力行数の設定。「表示」リストから、一度に表示する保存されたSQLコマンドの数を選択して指定します。

  • コマンドの削除。削除する各コマンドに関連付けられたチェック・ボックスを選択し、「チェックした項目の削除」をクリックします。

  • コマンドのソート。列ヘッダーをクリックして、リストされたコマンドをその列ごとにソートします。

SQLコマンド履歴の使用

実行したコマンドは、明示的に保存するかどうかに関係なく、コマンド履歴に格納されます。 SQLコマンド履歴を使用して、SQLコマンドで実行したコマンドにアクセスします。

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

コマンド履歴からのコマンドへのアクセス

履歴のコマンドにアクセスするには、次のステップを実行します。

  1. 「作業領域」ホームページで「SQLワークショップ」をクリックして、「SQLコマンド」をクリックします。

    「SQLコマンド」ページが表示されます。

  2. コマンド・エディタと表示ペインの間にある「履歴」タブをクリックします。

    「履歴」のコマンドのリストが表示ペインに表示されます。

  3. SQL列に表示されているコマンドの一部をクリックします。

    エディタにコマンドが表示されます。

「履歴」ペイン

「履歴」ペインには、実行したコマンドのリストが表示されます。

proc_history.gifの説明が続きます。
proc_history.gifの説明

各履歴エントリには、コマンドが最後に実行された時間、コマンドの最初の文字およびコマンドを実行したスキーマが表示されます。

「履歴」ペインでは、次の操作を実行できます。

  • コマンドのロード: SQL列に表示されているコマンドの一部をクリックして、コマンドをコマンド・エディタにロードします。 コマンドがロードされると、このコマンドを最後に実行したスキーマも設定されます。

  • 時間によるソート: 「時間」列ヘッダーをクリックして、コマンド履歴を古い順または新しい順にソートします。

結果の表示

SQLコマンドを実行すると、結果が表示されます。 最後に実行されたコマンドの結果は、別のSQLコマンドを実行するか、SQLコマンドを終了するまで参照可能です。

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

「結果」ペインへのアクセス

SQLコマンドの結果を表示するには、次のステップを実行します。

  1. 「作業領域」ホームページで「SQLワークショップ」をクリックして、「SQLコマンド」をクリックします。

    「SQLコマンド」ページが表示されます。

  2. コマンド・エディタと表示ペインの間にある「結果」タブをクリックします。

    proc_results.gifの説明が続きます。
    proc_results.gifの説明

    表示ペインに、HTML形式で結果が表示されます。

  3. DBMS出力」をクリックして、プレーン・テキストでDBMS出力の結果を表示します。

    DBMS出力のコントロールは、HTML形式の結果に加えてDBMS出力がある場合にのみ表示されます。 DBMS出力のみの場合またはHTML形式の出力のみの場合は表示されません。

「結果」ペイン

「結果」ペインには、SQLコマンドの結果がHTML形式の表として表示されます。 出力の最後に、戻された行数とかかった時間が表示されます。 DBMS出力は、HTML形式の結果の後にプレーン・テキストとして表示されます。

「結果」ペインでは、次の操作を実行できます。

  • DBMS出力の表示。表示された結果の下部にある「DBMS出力」をクリックして、DBMS出力の行を表示します。 このコントロールは、表示するDBMS出力がある場合にのみ表示されます。

  • 結果のエクスポート。「CSVのエクスポート」をクリックして、結果をローカル・ファイル・システムのカンマ区切りファイルにエクスポートします。 ファイルの名前とディレクトリを入力するよう求められます。

実行計画の使用

OracleオプティマイザでSQLコマンドを実行するために使用する実行計画を表示できます。 実行計画を表示するためにコマンドを実行する必要はありません。

explaintab.gifの説明が続きます。
explaintab.gifの説明

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

実行計画の表示

実行計画を表示するには、次のステップを実行します。

  1. 「作業領域」ホームページで「SQLワークショップ」をクリックして、「SQLコマンド」をクリックします。

    「SQLコマンド」ページが表示されます。

  2. 表示する計画を持つコマンドを入力またはロードします。

  3. コマンド・エディタと表示ペインの間にある「説明」をクリックします。

    表示ペインに、オプティマイザに使用される実行計画が表示されます。

「実行計画」ペイン

「実行計画」ペインに、OracleオプティマイザでSQLコマンドを実行するために使用する計画が表示されます。 このペインには、通常、使用される問合せ計画、索引列および表列が表示されます。

「実行計画」ペインでは、次の操作を実行できます。

  • オブジェクト定義の表示。問合せ計画内のオブジェクト名をクリックして、そのオブジェクトの定義をオブジェクト・ブラウザに表示します。

  • 索引定義の表示。表の列内の索引名をクリックして、その索引の定義をオブジェクト・ブラウザに表示します。