3.2.2 コード・エディタでのSQL文の実行
SQLページのコード・エディタでは、SQL文、PL/SQLスクリプトおよびJavaScriptコードを実行できます。主な機能には、コンテキスト内コード補完、構文ハイライトおよびエラー・デバッグが含まれます。
SQL文およびPL/SQL文を入力して、表の作成、データの挿入、データの選択または表からのデータの削除などのアクションを指定できます。SQLキーワードは、自動的にハイライト表示されます。複数の文の場合、次を終了する必要があります。
- PL/SQL以外の各文: 改行でセミコロン(;)またはスラッシュ(/)のいずれかを使用して
- 各PL/SQL文: 改行でスラッシュ(/)を使用して
PL/SQLエディタは、「ファンクション」、「プロシージャ」、「パッケージ」および「タイプ」のオブジェクト・タイプを開くとトリガーされます。このエディタは、コンパイル時にPL/SQLコードのエラーを検出するのに役立ちます。出力には、エラーが検出された特定の行や列などの詳細、およびコード・ブロック内の関連する位置に移動するためのリンクが含まれます。
JavaScriptワークシート・モードでは、Oracle Databaseリリース21cのマルチリンガル・エンジン構文がサポートされています。詳細は、「マルチリンガル・エンジンのサポート」を参照してください。
ワークシートでサポートされているSQL*PlusおよびSQLcl文については、サポートされているSQL*PlusおよびSQLclコマンドを参照してください。
[Ctrl]+[Space]を押すと、挿入ポイントで補完可能な構文のリストが表示されます。これは、編集中のコードを自動補完するために使用できます。このリストは、挿入ポイントでのコードのコンテキストに基づきます。
エディタには、コマンド・パレットから使用できるコマンドの包括的なリストが用意されています。コマンド・パレットを開くには、[Ctrl]+[Shift]+[P]を押します。キーボード・ショートカット・キーのリストは、キーボード・ショートカットを参照してください。
コードのエラーは、左余白の赤い点と、特定のテキストの下にある四角形の線で示されます。カーソルを置くと、エラーを解決するための可能な修正がポップアップで表示されます。
右上のユーザー・ドロップダウン・リストにある「プリファレンス」オプションを使用して、コード・エディタのプリファレンスを設定できます。カスタマイズ可能なコード・エディタ・オプションには、テーマ(明るい、暗い、高コントラストの暗い)、フォント・サイズとファミリ、タブ・サイズ、ワードラップ、ルーラー、行番号などがあります。
「SQL」ツールバーには、次の操作のアイコンが含まれています。
-
「ワークシート」ドロップダウン・リスト
- 開く: ブラウザまたはデバイスからファイルを開きます。
- 最近のものを開く: 最近アクセスしたファイルが表示されます。最近のリストに含まれるファイルが5つを超える場合は、追加のファイルを表示するための「その他」リンクが表示されます。
- 別名保存: ファイルをブラウザまたはデバイスに保存します。
- 新規ファイル
- ワークシートを作成するには「ワークシート」を選択します。
- PL/SQLオブジェクト・タイプを作成するには、「PL/SQL」を選択します。エディタはPL/SQLモードに切り替わります。
- JavaScriptファイルを作成するには、「JavaScript」を選択します。エディタがJavaScriptモードに切り替わり、ファイル名に(JS)が追加されます。
- 「開く」では、ブラウザまたはデバイスからファイルが開きます。デバイスからファイルを開くには、「ファイルを開く」スライダで「ファイルを開く」をクリックしてファイルを参照して選択するか、ファイルをスライダにドラッグ・アンド・ドロップします。
-
「文の実行」は、ワークシート・エディタで選択した文またはマウス・ポインタで示した文を実行します。SQL文には、VARCHAR2型のバインド変数および置換変数を含めることができます(ただし、ほとんどの場合、VARCHAR2は、必要に応じてNUMBERに自動的に内部変換されます)。変数の値を入力するためのダイアログ・ボックスが表示されます。
-
スクリプトの実行
-
SQLスクリプトとして実行は、スクリプト・ランナーを使用してワークシート・エディタ内のすべての文を実行します。SQL文には、VARCHAR2型のバインド変数(置換変数ではない)を含めることができます(ただし、ほとんどの場合、VARCHAR2は必要に応じて自動的にNUMBERに変換されます)。バインド変数値を入力するためのダイアログ・ボックスが表示されます。
-
「JavaScriptとして実行」では、JavaScriptファイルとしてコードが実行されます。このオプションは、JavaScriptコードでのみ使用されます。JavaScriptコードがPL/SQLブロックに追加されている場合は、SQLスクリプトとして実行を選択してスクリプトを実行します。
-
- 「コンパイル」(PL/SQLツールバー)では、サブプログラムのPL/SQLコンパイルが実行されます。
- 「チャートの作成」では、エディタで入力した対応するSQL文のチャートが作成されます。それに対し、サブクエリーを部分的に強調表示してチャートを作成できます。チャート・パラメータを入力するためのスライダ・ウィンドウが表示されます。フィールドの詳細は、「チャートの作成または編集」を参照してください。
SQL文が構文的に正しくないか不完全である場合、エラー/警告通知が表示されます。
-
実行計画: (EXPLAIN PLAN文を内部的に実行して)文の実行計画を生成します。実行計画は、ワークシート出力ペインの「実行計画」タブに自動的に表示されます。「SQL出力の表示」を参照してください
-
「自動トレース」では、文が実行され、ランタイム統計と実際の実行計画が収集されます。自動トレース出力は、ワークシート出力ペインの「自動トレース」タブに表示されます。現在のところ、使用可能なプリファレンスはありません。
-
エディタ・コンテンツのダウンロードは、ワークシートのコンテンツをSQLファイルとしてローカル・システムにダウンロードします。
-
「フォーマット」では、文の名前、句、キーワードの大文字化、改行およびインデントの追加など、エディタでSQL文がフォーマットされます。
-
「クリア」は、エディタから文を削除します。
-
「ツアー」は、ワークシートのガイド付きツアーを提供します。主な機能が強調表示され、インタフェースを初めて使用する場合に便利な情報が示されます。
-
「ヘルプ」はコンテキスト関連のヘルプを提供し、ヘルプ・ドキュメントへのリンクを示します。
-
「全画面で開く」は、エディタを全画面モードで開きます。
3.2.2.1 「データベース・アクション」でのセッション・ステートについて
「データベース・アクション」では、データベースへの接続はステートレスです。
ステートレス環境では、クライアントからの各HTTPSリクエストが新しいデータベース・セッションにマップされます。したがって、セッションは、SQL文またはスクリプトの実行ごとに開始し、終了します。
セッション状態が維持されないため、セッション属性は保持されず、ROLLBACKやCOMMITなどのコマンドは適用されません。SQL文またはスクリプトが正常に実行されると、暗黙的なコミットが実行されます。実行中にエラーが発生した場合は、暗黙的なロールバックが実行されます。
したがって、必要に応じて、セッションのためにデータベースに送信されるPL/SQLコード・ブロックにROLLBACKコマンドおよびCOMMITコマンド、またはセッション属性を含めます。
Database Actionsのセッション中に保持される構成コマンドは、次のもののみです。
SET DEF[INE] <ON|OFF|prefix_character>
SET ESC[APE] <ON|OFF|escape_character>
SET TIMI[NG] <ON|OFF>
3.2.2.2 キーボード・ショートカット
この項では、SQLページの様々なコマンドのキーボード・ショートカットを示します。
表3-1 キーボード・ショートカット
Windows | MacOS | 説明 |
---|---|---|
[Ctrl]+[Enter] |
[Cmd]+[Enter] |
コードを問合せとして実行します。 |
[Alt]+[Tab] |
[Option]+[Tab] |
次の要素をフォーカスします。 |
[Ctrl]+[Esc]/[Escape] |
[Cmd]l+[Esc]/[Escape] |
エディタからフォーカスを削除します。 |
[Ctrl]+下矢印 |
[Cmd]+下矢印 |
履歴から次のSQLコードに移動します。 |
[Ctrl]+上矢印 |
[Cmd]+上矢印 |
履歴から前のSQLコードに移動します。 |
[Ctrl]+[S] |
[Cmd]+[S] |
現在のワークシートを保存します。 |
[Ctrl]+[O] |
[Cmd]+[O] |
ワークシート・ブラウザ・ダイアログを開きます。 |
[Ctrl]+[I] |
[Cmd]+[I] |
エディタのコンテンツをダウンロードします。 |
F1 | [Fn]+[F1] | ヘルプ・トピックを開きます。 |
[Shift]+[Esc] |
[Shift]+[Esc] |
前の要素をフォーカスします。 |
F5 |
[Fn]+[F5] |
コードをスクリプトとして実行します。 |
F6 |
[Fn]+[F6] |
自動トレースを表示します。 |
F10 |
[Fn]+[F10] |
実行計画を表示します。 |
F11 |
[Fn]+[F11] |
チャートを作成します。 |
[Ctrl]+[B] |
[Cmd]+[B] |
「大/小文字の変換」ドロップダウン・リストを開きます。 |
[Ctrl]+[F7] |
[Cmd]+[Fn]+[F7] |
エディタでコードをフォーマットします。 |
[Ctrl]+[Space] |
[Ctrl]+[Space] |
コードを自動補完します(ヒントを表示)。 |
次の表には、コマンド・パレットのコマンドのキーボード・ショートカットを一覧表示します。
表3-2 コマンド・パレットのキーボード・ショートカット
Windows | MacOS | 説明 |
---|---|---|
[Ctrl]+[Alt]+[↑] | [Cmd]+[Option]+[↑] | カーソルを上に追加 |
[Ctrl]+[Alt]+[↓] | [Cmd]+[Option]+[↓] | カーソルを下に追加 |
[Shift]+[Alt]+[I] | [Shift]+[Option]+[I] | カーソルを行の末尾に追加 |
[Ctrl]+[K] [Ctrl]+[C] | [Cmd]+[K] [Cmd]+[C] | 行コメントを追加 |
[Ctrl]+[D] | [Cmd]+[D] | 次の検索一致に選択を追加 |
[Shift]+[Alt]+[↓] | [Shift]+[Option]+[↓] | 行を下にコピー |
[Shift]+[Alt]+[↑] | [Shift]+[Option]+[↑] | 行を上にコピー |
[Ctrl]+[U] | [Cmd]+[U] | カーソルの取消し |
[Cmd]+[Backspace] | 左をすべて削除 | |
[Ctrl]+[K] | 右をすべて削除 | |
[Ctrl]+[Shift]+[K] | [Shift]+[Cmd]+[K] | 行を削除 |
[Shift]+[Alt]+[→] | [Shift]+[Ctrl]+[Cmd]+[→] | 選択を展開 |
[Ctrl]+[F] | [Cmd]+[F] | 検索 |
[Enter] | [Enter] | 次を検索 |
[Ctrl]+[F3] | [Cmd]+[Fn]+[F3] | 次の選択を検索 |
[Shift]+[Enter] | [Shift]+[Enter] | 前を検索 |
[Ctrl]+[Shift]+[F3] | [Shift]+[Cmd]+[Fn]+[F3] | 前の選択を検索 |
[Cmd]+[E] | 選択を使用して検索 | |
[Ctrl]+[Shift]+[[] | [Option]+[Cmd]+[[] | 折りたたむ |
[Ctrl]+[K] [Ctrl]+[0] | [Cmd]+[K] [Cmd]+[0] | すべて折りたたむ |
[Ctrl]+[K] [Ctrl]+[/] | [Cmd]+[K] [Cmd]+[/] | すべてのブロック・コメントを折りたたむ |
[Ctrl]+[K] [Ctrl]+[8] | [Cmd]+[K] [Cmd]+[8] | すべてのリージョンを折りたたむ |
[Ctrl]+[K] [Ctrl]+[1] | [Cmd]+[K] [Cmd]+[1] | レベル1を折りたたむ |
[Ctrl]+[K] [Ctrl]+[2] | [Cmd]+[K] [Cmd]+[2] | レベル2を折りたたむ |
[Ctrl]+[K] [Ctrl]+[3] | [Cmd]+[K] [Cmd]+[3] | レベル3を折りたたむ |
[Ctrl]+[K] [Ctrl]+[4] | [Cmd]+[K] [Cmd]+[4] | レベル4を折りたたむ |
[Ctrl]+[K] [Ctrl]+[5] | [Cmd]+[K] [Cmd]+[5] | レベル5を折りたたむ |
[Ctrl]+[K] [Ctrl]+[6] | [Cmd]+[K] [Cmd]+[6] | レベル6を折りたたむ |
[Ctrl]+[K] [Ctrl]+[7] | [Cmd]+[K] [Cmd]+[7] | レベル7を折りたたむ |
[Ctrl]+[K] [Ctrl]+[[] | [Cmd]+[K] [Cmd]+[[] | 再帰的に折りたたむ |
[Ctrl]+[Shift]+[\] | [Shift]+[Cmd]+[\] | カッコに移動 |
[Ctrl]+[G] | [Ctrl]+[G] | 指定行に移動... |
[Alt]+[F8] | [Option]+[Fn]+[F8] | 次の問題(エラー、警告、情報)に移動 |
F8 | [Fn]+[F8] | ファイルの次の問題(エラー、警告、情報)に移動 |
F7 | [Fn]+[F7] | 次のシンボル強調表示に移動 |
[Shift]+[Alt]+[F8] | [Shift]+[Option]+[Fn]+[F8] | 前の問題(エラー、警告、情報)に移動 |
[Shift]+[F8] | [Shift]+[Fn]+[F8] | ファイルの前の問題(エラー、警告、情報)に移動 |
[Shift]+[F7] | [Shift]+[Fn]+[F7] | 前のシンボル強調表示に移動 |
[Ctrl]+[]] | [Cmd]+[]] | 行をインデント |
[Ctrl]+[Shift]+[Enter] | [Shift]+[Cmd]+[Enter] | 上に行を挿入 |
[Ctrl]+[J] | 行を結合 | |
[Ctrl]+[K] [Ctrl]+[D] | [Cmd]+[K] [Cmd]+[D] | 最後の選択を次の検索一致に移動 |
[Alt]+[↓] | [Option]+[↓] | 行を下に移動 |
[Alt]+[↑] | [Option]+[↑] | 行を上に移動 |
[F1] (すべてのブラウザ) [Ctrl] + [Shift] + [P] (Google Chromeのみ) |
[Fn]+[F1] | コマンド・パレットを開く |
[Ctrl]+[[] | [Cmd]+[[] | 行のインデントを解除 |
[Ctrl]+[K] [Ctrl]+[U] | [Cmd]+[K] [Cmd]+[U] | 行コメントを削除 |
[Ctrl]+[H] | [Option]+[Cmd]+[F] | 置換 |
[Ctrl]+[Shift]+[.] | [Shift]+[Cmd]+[.] | 次の値と置換 |
[Ctrl]+[Shift]+[,] | [Shift]+[Cmd]+[,] | 前の値と置換 |
[Ctrl]+[Shift]+[L] | [Shift]+[Cmd]+[L] | 検索一致に出現するすべてを選択 |
[Alt]+[F1] | [Option]+[Fn]+[F1] | アクセシビリティのヘルプを表示 |
[Shift]+[F10] | [Shift]+[Fn]+[F10] | エディタ・コンテキスト・メニューを表示 |
[Ctrl]+[K] [Ctrl]+[I] | [Cmd]+[K] [Cmd]+[I] | ホバーを表示 |
[Shift]+[Alt]+[←] | [Shift]+[Ctrl]+[Cmd]+[←] | 選択を縮小 |
[Shift]+[Alt]+[A] | [Shift]+[Option]+[A] | ブロック・コメントの切替え |
[Ctrl]+[K] [Ctrl]+[L] | [Cmd]+[K] [Cmd]+[L] | 折りたたみの切替え |
[Ctrl]+[/] | [Cmd]+[/] | 行コメントの切替え |
[Ctrl]+[M] | [Shift]+[Ctrl]+[M] | タブ・キーのフォーカス移動の切替え |
[Shift]+[Ctrl]+[T] | 文字の入替え | |
[Ctrl]+[Space] | [Ctrl]+[Space] | 推奨をトリガー |
[Ctrl]+[K] [Ctrl]+[X] | [Cmd]+[K] [Cmd]+[X] | 後続空白をトリミング |
[Ctrl]+[Shift]+[]] | [Option]+[Cmd]+[]] | 折りたたみ解除 |
[Ctrl]+[K] [Ctrl]+[J] | [Cmd]+[K] [Cmd]+[J] | すべて折りたたみ解除 |
[Ctrl]+[K] [Ctrl]+[9] | [Cmd]+[K] [Cmd]+[9] | すべてのリージョンを折りたたみ解除 |
[Ctrl]+[K] [Ctrl]+[]] | [Cmd]+[K] [Cmd]+[]] | 再帰的に折りたたみ解除 |
3.2.2.3 マルチリンガル・エンジンのサポート
前提条件
Database ActionsでMLE機能を使用できるようにするには、次のものが必要です。
-
Oracle Databaseリリース21c以降のバージョンの
DBMS_MLE
パッケージ。詳細は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』のDBMS_MLEに関する項を参照してください。 -
割り当てられた
EXECUTE DYNAMIC MLE
およびEXECUTE ON JAVASCRIPT
権限。
次のようにワークシートでJavaScriptコードを操作できます。
- JavaScriptワークシートの作成
- 標準ワークシートでJavaScriptコードを実行
- JavaScriptコードをPL/SQLブロックとして実行
JavaScriptワークシートの作成
ワークシートをJavaScriptモードで開くことができます。また、ツールバー・アイコンおよび出力タブがJavaScriptモードを反映して変更されます。
JavaScriptワークシートを作成して保存するには、次の手順を実行します。
- ツールバーで、「新規ファイル」アイコンを展開し、「JavaScript」を選択します。
- ワークシートにコードを入力すると、JavaScriptコードが自動的に強調表示されます。
- 「スクリプトの実行」を使用して、ワークシートでJavaScriptコードを実行します。
-
「保存」をクリックします。
「ファイル」ペインで、(JS)がJavaScriptファイル名に追加されます。これにより、JavaScriptファイルを迅速に識別できます。
標準ワークシートでJavaScriptコードを実行
標準ワークシート(ワークシートがJavaScriptモードでない場合):
- 実行するJavaScriptコードを選択します。
- ワークシート・ツールバーで、「スクリプトの実行」アイコンを展開し、「JavaScriptとして実行」を選択します。
ノート:
SQLスクリプトとして実行を選択すると、エラーが発生します。
JavaScriptコードをPL/SQLブロックとして実行
PL/SQLコード・ブロックを使用して、JavaScriptコードを実行できます。
ワークシート・ツールバーから、「スクリプトの実行」アイコンを展開し、「SQLスクリプトとして実行(F5)」を選択します。