3.2 「SQL」ページ
「SQL」ページでは、SQL文とPL/SQL文を入力および実行して、データベース・オブジェクトを作成できます。
「SQL」ページにナビゲートするには、次のいずれかを実行します。
-
「起動パッド」ページで、「開発」タブを選択し、「SQL」をクリックします。
-
セレクタ
をクリックして、ナビゲーション・メニューを表示します。「開発」で、「SQL」を選択します。
SQLおよびPL/SQL文をワークシートで使用して、表の作成、データの挿入、トリガーの作成と編集、表からのデータの選択、およびファイルへのデータの保存を行うことができます。その他の機能には、構文の強調表示とエラー検出があります。
「SQL」ページは、ワークシートとオブジェクトのナビゲート用の左ペイン、SQL文を実行するためのエディタ、および結果を表示するための出力ペインで構成されています。次の項ではこれらの拡張機能について説明します。
3.2.1 オブジェクト・ナビゲータとファイル
左ペインの「ナビゲータ」タブに、選択したスキーマの保存済オブジェクトが表示されます。「ファイル」タブでは、ブラウザまたはローカル・システムに保存されているファイルを表示して開くことができます。
次の図は、左ペインの様々な要素を示しています。
図3-1 「SQL」の左ペイン
「ナビゲータ」タブ
選択したスキーマの保存済オブジェクトを表示します。
-
スキーマ・セレクタおよびオブジェクト・タイプ・セレクタ: ドロップダウン・リストを使用してスキーマを選択し、オブジェクト・タイプで結果をフィルタリングします。
-
検索: 保存済ワークシートのコンテンツを検索したり、「ナビゲータ」タブのオブジェクトを名前で検索します。検索機能では大/小文字が区別されず、一致するエントリがすべて取得され、ワイルドカード文字を使用する必要はありません。
-
コンテキスト・メニュー: コンテキスト・メニューのオプションは次のとおりです。
-
「開く」では、オブジェクト・タイプ(表およびビュー)に関連するプロパティおよびデータを参照します。
「データ」ペインには、表、ビューまたはマテリアライズド・ビューのデータが表示されます。
エントリを編集するには、セルをダブルクリックして編集します。
をクリックして、値を入力することもできます。編集すると、その行の溝のセルの枠線が青に変ります。
「データ」ペインで使用可能なアイコンは次のとおりです。
- 行の作成: データベース表に新しい行を挿入します。「行の作成」アイコンを使用して行を挿入すると、その行はデータベースにコミットされます。
-
選択項目の削除: 選択された行を削除対象としてマークします行を削除対象としてマークすると、その行の枠線が赤に変ります。
-
コミット: データベースに対するすべての変更をコミットします。
-
すべて元に戻す: コミット対象としてマークされているすべての変更を元に戻します。
右上隅にある「フィルタ」アイコンを使用して、列データをフィルタ処理します。セルを右クリックしてコンテキスト・メニューにアクセスし、行のカウント、単一レコードの表示、セル・テキストのエクスポートまたはクリップボードへのコピーを行うこともできます。
バイナリ・ラージ・オブジェクトのデータ型(BLOB)を表示するには、BLOBデータ型の鉛筆アイコンをクリックします。「値の表示」ダイアログでは、次のとおりです。- 「イメージ」タブには、ロードされたBLOBタイプがイメージの場合、ロード済のイメージが表示されます。
- 「テキスト」タブには、ロードされたBLOBタイプがテキストの場合、テキスト・ファイルが表示されます。
- 「情報」タブには、詳細が表示され、次のアクションを実行できます。
- ダウンロード: BLOBデータ型のイメージ/テキスト・ファイルをダウンロードする場合。
- ロード: BLOBデータ型のイメージ/テキストを挿入する場合。
- NULLの設定: オブジェクトを削除し、値をNULLに設定する場合。
-
「編集」は、既存のオブジェクトのプロパティを編集します。
-
「追加」は、選択したオブジェクト・タイプに基づいてオブジェクトを作成します。
-
「テンプレートとして使用」は、既存のオブジェクトのプロパティをテンプレートとして使用してオブジェクトを作成します。
-
REST
-
「有効化」は、データベース・オブジェクトに対するRESTアクセスを有効にします。データベース・オブジェクトに対するRESTアクセスの有効化を参照してください。
REST対応オブジェクトは、「ナビゲータ」タブの「REST対応」アイコン
で示されます。
-
「無効化」は、データベース・オブジェクトが有効化された後のRESTアクセスを無効にします。データベース・オブジェクトに対するRESTアクセスの無効化を参照してください。
-
「cURLコマンド」は、データベース・オブジェクトに対して選択したHTTPメソッドのcURLコールを生成します。REST対応データベース・オブジェクトのcURLリクエストの生成を参照してください。
-
-
「データのロード」は、ローカル・ファイルから表にデータをロードします。
-
「クイックDDL」は、オブジェクトのデータ定義言語文を生成します。
-
-
リフレッシュ
: 左ペインにリストされているオブジェクトまたはワークシートをリフレッシュします。
-
オブジェクト・サブメニュー
: 「オブジェクトの作成」ダイアログを開き、ドロップダウン・リストで選択したタイプに基づいて新しいオブジェクトを作成します。
-
ヘルプ
: コンテキスト・ヘルプ・ドキュメントを提供します。
「ファイル」タブ
ブラウザまたはローカル・デバイスからファイルを開くことができます。
ノート:
左ペインのDEVICEカテゴリは、セキュアなコンテキスト(HTTPS)でChromiumベースのブラウザを使用する場合のみ表示されます。すべてのファイル: ドロップダウン・リストを使用して、ブラウザまたはデバイスでファイルをフィルタします。
ファイルのコンテキスト・メニュー・オプションは、「開く」および「削除」です。デバイスでは、ファイルを削除するための対応するオプションは「破棄」です。この場合、ファイルは削除されず、かわりにファイルへの参照が削除されます。
ワークシートへのオブジェクトおよびファイルのドラッグ・アンド・ドロップ
オブジェクトを左ペインからドラッグし、右ペインのワークシート・エディタにドロップできます。
-
表またはビューをドラッグ・アンド・ドロップする場合、「挿入」、「更新」、「選択」または「削除」のいずれかのSQL文を選択するように求められます。たとえば、「選択」を選択すると、表またはビュー内のすべての列でSELECT文が作成されます。その後、列リストの変更やWHERE句の追加などによって、文を編集できます。
「オブジェクト名」を選択すると、スキーマ名の接頭辞が付いたオブジェクトの名前がワークシートに追加されます。
-
ファンクションまたはプロシージャをドラッグ・アンド・ドロップする場合、ワークシートにファンクションまたはプロシージャの名前またはPL/SQLコードを挿入するように選択できます。PL/SQLコードを選択した場合は、ワークシートにコードを挿入する前にパラメータを入力できます。
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ワークシートサポートされているSQL*PlusおよびSQLclコマンドを参照してください。
[Ctrl]+[Space]を押すと、挿入ポイントで補完可能な構文のリストが表示されます。これは、編集中のコードを自動補完するために使用できます。このリストは、挿入ポイントでのコードのコンテキストに基づきます。
エディタには、コマンド・パレットから使用できるコマンドの包括的なリストが用意されています。コマンド・パレットを開くには、[Ctrl]+[Shift]+[P]を押します。キーボード・ショートカット・キーのリストは、キーボード・ショートカットを参照してください。
コードのエラーは、左余白の赤い点と、特定のテキストの下にある四角形の線で示されます。カーソルを置くと、エラーを解決するための可能な修正がポップアップで表示されます。
右上のユーザー・ドロップダウン・リストにある「プリファレンス」オプションを使用して、コード・エディタのプリファレンスを設定できます。カスタマイズ可能なコード・エディタ・オプションには、テーマ(明るい、暗い、高コントラストの暗い)、フォント・サイズとファミリ、タブ・サイズ、ワードラップ、ルーラー、行番号などがあります。
「SQL」ツールバーには、次の操作のアイコンが含まれています。
-
「ワークシート」ドロップダウン・リスト
- 開く: ブラウザまたはデバイスからファイルを開きます。
- 最近のものを開く: 最近アクセスしたファイルが表示されます。最近のリストに含まれるファイルが5つを超える場合は、追加のファイルを表示するための「その他」リンクが表示されます。
- 別名保存: ファイルをブラウザまたはデバイスに保存します。
- 新規ファイル
- ワークシートを作成するには「ワークシート」を選択します。
- PL/SQLオブジェクト・タイプを作成するには、「PL/SQL」を選択します。エディタはPL/SQLモードに切り替わります。
- JavaScriptファイルを作成するには、「JavaScript」を選択します。エディタがJavaScriptモードに切り替わり、ファイル名に(JS)が追加されます。
- 「開く」では、ブラウザまたはデバイスからファイルが開きます。デバイスからファイルを開くには、「ファイルを開く」スライダで「ファイルを開く」をクリックしてファイルを参照して選択するか、ファイルをスライダにドラッグ・アンド・ドロップします。
-
文の実行
-
「文の実行」は、ワークシート・エディタで選択した文またはマウス・ポインタで示した文を実行します。SQL文には、VARCHAR2型のバインド変数および置換変数を含めることができます(ただし、ほとんどの場合、VARCHAR2は、必要に応じてNUMBERに自動的に内部変換されます)。変数の値を入力するためのダイアログ・ボックスが表示されます。
- 「ページ区切りなしで文を実行」は、選択した文を
ROW_NUMBER()OVER
分析関数内でラップせずに実行し、ページングを実装します。つまり、問合せはワークシート内でそのまま実行され、最初の256行のみがフェッチされます。
-
-
スクリプトの実行
-
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)」を選択します。
3.2.3 SQL出力の表示
「SQL」の右下のペインには、SQLエディタで実行された操作の出力が表示されます。
次の図に、「SQL」ページの出力ペインを示します。
出力ペインには次のタブがあります。
-
問合せ結果: 表示表における直近の「文の実行」操作の結果を表示します。
-
スクリプト出力: スクリプト・エンジンを使用して、スクリプトとして実行された文からのテキスト出力を表示します。
-
DBMS出力: DBMS_OUTPUTパッケージ文の出力が表示されます。
-
実行計画:「実行計画」コマンドを使用して、問合せの計画を表示します。デフォルト・ビューはダイアグラム・ビューです。詳細は、「「実行計画」ダイアグラムの使用」を参照してください。
-
自動トレース: 自動トレース機能を使用してSQL文を実行するときに、
v$sql_plan
からセッション統計および実行計画を表示します。「自動トレース」アイコンをクリックすると、出力が表示されます。 -
SQL履歴: 実行したSQL文およびスクリプトが表示されます。ワークシートで以前に実行した問合せを再度入力するには、履歴リストで問合せをダブルクリックします。「検索」アイコンをクリックすると、特定の文を検索できます。検索機能は大/小文字を区別し、検索テキストを含むすべてのエントリを取得して、ワイルドカード文字を必要としません。
ノート:
実行された文はデータベースに保存されるため、すべてのデバイスで使用できます。読取り専用データベースの場合、SQL文はブラウザに保存されます。 - データのロード: すべての表示可能な表(他のスキーマからの表を含む)でロードされた行および失敗した行の合計のレポートを表示します。
このペインのアイコンは次のとおりです。
-
出力のクリア: 出力をクリアします。
-
情報の表示: 出力を表示するSQL文を表示します。
-
新規タブで開く: 問合せ結果または実行計画を新しいウィンドウで開きます。
-
ダウンロード: これは問合せ結果にのみ適用可能です。CSV、JSON、XMLまたはTEXT(.tsv)形式で、問合せ結果をローカル・コンピュータにダウンロードできます。
「問合せ結果」タブの表示表で、行ヘッダーのコンテキスト・メニュー(右クリック)は次で構成されます。
-
「列」を使用すると、非表示にする列を選択できます。
-
ソート: ソートの基準とする列を選択するためのダイアログ・ボックスを表示します。各列で、昇順または降順を指定したり、NULL値が最初に表示されるように指定できます。
残りの表示表のコンテキスト・メニューは、次のコマンドで構成されます。
-
「行数のカウント」には、問合せの結果セット内の行数が表示されます。
-
単一レコード・ビューでは、表またはビューのデータを一度に1つずつ表示できます。
-
エクスポートでは、選択した形式に基づいてダウンロード用のファイルが生成されます。これは、XML、CSV (列識別子のヘッダー行を含むカンマ区切り値)、挿入、デリミタ付き、固定、HTML、JSONまたはTEXTのいずれかになります。
-
書式: ドロップダウン・リストからエクスポートする書式を選択します。
-
行の終了文字: 各行の終了文字を指定します。終了文字は、エクスポートされるデータ内には含まれていません。プレビュー・ページでデータが1行に表示される場合、正しい終了文字が指定されていません。
-
ヘッダー: 最初の行がヘッダー行であるか、データの先頭行であるかを制御します。
-
左囲みおよび右囲み: 囲みは文字データに対して、必要に応じて使用されます。囲みは、エクスポートされるデータ内には含まれません。
ノート:
ポップアップ・ブロッカが有効な場合、ファイルはダウンロードできません。 -
-
「コピー」は、セル、行または行の範囲からデータをコピーします。
3.2.3.1 「実行計画」ダイアグラムの使用
「実行計画」ダイアグラム・ビューは、EXPLAIN PLAN文の結果のデフォルトの表であるPLAN_TABLE
の内容をグラフィカルに表現したものです。実行計画のステップの階層的な性質をダイアグラムに示します。
デフォルトでは、3つのレベルのステップがダイアグラムに表示されます。各ステップの下部にある+/-記号(ステップに子がある場合に使用可能)を使用して、展開または縮小できます。ダイアグラムのすべてのステップを表示するには、ツールバーの 「すべて展開」を使用します。
このダイアグラムには、次の詳細も示されています。
- カーディナリティ(親ステップへの矢印の数値)。これは処理される行数です。
- そのステップで適用された操作とオプション
- 実行順序(実行順序の連番)
- アクセス述語のCPUコスト(割合) (オレンジ色のバー)
- ステップの合計CPUコスト(割合) (青色の円)
- 推定I/Oコスト、処理バイト数およびコスト・メトリック
ステップ内のこれらの統計にマウスを重ねると、簡単な説明ポップアップが表示されます。
ツールバーのアイコンは次のとおりです。
-
拡張ビュー/ダイアグラム・ビュー: 拡張ビューとダイアグラム・ビューを切り替えます。「詳細ビュー」では、
PLAN_TABLE
のデータが混合表形式/ツリー・ビューに表示されます。ダイアグラム・ビューには、データがフローチャート形式で表示されます。 - チャート・ビュー/ダイアグラム・ビュー: チャート・ビューとダイアグラム・ビューを切り替えます。「チャート」ビューには、
PLAN_TABLE
のデータがフレーム・グラフとして表示されます。 -
ダイアグラムの印刷: ダイアグラムを印刷します。
-
SVGに保存: ダイアグラムをSVG形式のファイルに保存します。
-
ズームイン、ズームアウト: ダイアグラムでステップが選択されている場合、「ズームイン」アイコンをクリックすると、画面の中央にそのまま残ります。
-
画面に合わせる: ダイアグラム全体を可視領域に合せます。
-
実際のサイズ: ズーム・ファクタを1に設定します。
-
すべて展開: ダイアグラムのすべてのステップを表示します。
-
ダイアグラムのリセット: ダイアグラムを初期ステータスにリセットします。つまり、3つのレベルのステップのみが表示されます。
-
情報の表示: 実行計画機能で使用される
SELECT
文を表示します。 -
新しいタブで開く: ダイアグラム・ビューを新しいタブで開き、表示とナビゲーションを改善します。このダイアグラムは、最初のSELECT文に限定されています。
-
表示できる最小の合計CPUコスト(%): 合計CPUコストが指定の値より小さいステップをフィルタするためのしきい値を定義します。
0(ゼロ)から100の値を入力します。0のフィルタはありません。
-
計画メモ: 実行計画のメモを表示します。
プロパティ
選択したステップをダブルクリックするか[Enter]を押して「プロパティ」スライダを開きます。このスライダには、そのステップの詳細が表示されます。各プロパティの詳細は、『Oracle Databaseリファレンス』のPLAN_TABLEに関する項を参照してください。
「プロパティ」スライダには次が表示されます。
-
PLAN_TABLE
から抽出されたそのステップに関するすべての情報(表形式)。NULLは除外されます。「JSON」を選択すると、JSON形式でプロパティを表示できます。
-
PLAN_TABLE
のOTHER_XML
列の情報。情報はJSON形式で表示されます。
ナビゲーション
-
[Tab]キーを押して、実行順序のステップを移動します。選択したステップの周囲には青い枠線があります。
逆方向に移動するには、[Shift]+[Tab]キーを押します。
ステップが選択されていない場合、[Tab]キーを押すと、実行番号1のステップが選択されます。
-
ズーム・レベルに応じて、水平および垂直のスクロールバーを使用してダイアグラムの様々な部分を表示します。
マウスの左ボタンをクリックしてそのままにして、ダイアグラムを上下にパンします。
右下にある
アイコンを使用して、ダイアグラムの上部までスクロールします。
-
ダイアグラム・ナビゲータは右上隅にあり、グレーの背景にあるダイアグラムの小さいコピーを表します。長方形の枠線を使用すると、ズームインおよびズームアウト操作が可能になり、移動してダイアグラムの異なる部分を表示できます。
ダイアグラム・ナビゲータに、CPUコストが1%を超えるステップの降順のリストが表示されます。リスト内のステップをクリックしてダイアグラムの同じステップに移動し、他のステップのコンテキストでステップを確認できます。
3.2.4 データのロード
「SQL」ページでは、1つ以上のローカル・ファイルから1つ以上の表にデータをロードできます。
ロードできるファイル形式は、CSV、XLS、XLSX、TSV、TXT、XML、JSON、改行区切りJSON (NDJSON)およびAVROです。XML、JSON、NDJSONおよびAVROファイルについては、JSON、AVROおよびXMLファイルの形式の仕様を参照してください。
3.2.4.1 ローカル・ファイルから新しい表へのデータのロード
ローカル・ファイルから新しい表にデータをロードするには、次のステップを実行します。
-
次のいずれかの方法で開始できます。
-
「ナビゲータ」タブの左ペインで、オブジェクト・サブメニュー
をクリックし、「データのロード」を選択してから、「新規表へのデータのアップロード」を選択します。
-
「ナビゲータ」タブで、ローカル・ファイルを左側のペインにドラッグ・アンド・ドロップします。ペインにファイルをドラッグすると、ここにファイルをドロップして開始しますというメッセージが表示されます。
新しい表へのデータのアップロードが表示されます。データのプレビューが、グリッド形式で表示されます。
-
-
「オプションの表示/非表示」
をクリックして、データ・プレビューで変更できるオプションを表示します。
-
列名: 「ファイルから取得」を選択すると、1行目に列ヘッダーが表示されます。
- エンコーディング: エンコーディング・タイプを選択するためのオプションは、ロードされたファイルがプレーン・テキスト形式(CSV、TSVまたはTXT)の場合に表示されます。デフォルトのエンコーディング・タイプはUTF-8です。
-
テキスト囲みおよびフィールド・デリミタ: これらのオプションは、選択したファイルがプレーン・テキスト形式(CSV、TSVまたはTXT)である場合にのみ表示されます。テキスト囲みとフィールド・デリミタ用にソース・ファイルで使用されている文字を選択または入力します。
-
スキップする行: スキップする行数を入力するか、上矢印と下矢印を使用して選択します。
-
プレビュー・サイズ: プレビューする行数を入力するか、上矢印と下矢印を使用して選択します。
-
アップロードする行を制限: このオプションを選択する場合は、ロードする行数を指定する必要があります。上矢印および下矢印を使用して、ロードする行数を選択します。
選択したオプションとデータ・プレビューを削除するには、「クリア」をクリックします。
必要なオプションを選択してから、「適用」をクリックして「次」をクリックします。
-
-
「表の定義」で、次の設定を行います。
-
「表名」フィールドに、ターゲット表の名前を入力します。
-
ターゲット表に追加する列の行の先頭のチェック・ボックスを選択します。
-
「列名」、「列の型」、「精度」、「スケール」、「デフォルト」、「主キー」、「Null値可能」などの列属性の値を選択または入力します。
-
日付、タイムスタンプ、数値型のデータの場合は、「書式マスク」列が表示されます。日付型およびタイムスタンプ型の場合、ドロップダウン・リストから値を選択するか、「書式マスク」フィールドに値を入力する必要があります。数値型の場合、書式マスクはオプションです。
日付列およびタイムスタンプ列の場合、アップロードするデータを表示する互換性のある書式マスクを指定する必要があります。たとえば、日付データが
12-FEB-2021 12.21.30
などの場合は、日付マスクにDD-MON-YYYY HH.MI.SS
を指定する必要があります。書式マスクは、ファイル内のデータに基づいて自動的に決定されます。提案された書式マスクを確認し、必要に応じて、ターゲット・セルに直接書式を入力して変更する必要があります。
「次へ」をクリックします。
-
-
前の画面で行った選択に基づいて生成されたDDLコードを確認します。ソース列からターゲット列へのマッピングも表示されます。
「終了」をクリックします。データが正常にロードされると、新しい表が「ナビゲータ」タブに表示されます。
- ロードされた行および失敗した行の合計に関する詳細なレポートを表示するには、次のいずれかを実行します。
-
「ナビゲータ」タブで表を右クリックし、「データのロード」、「履歴」の順に選択します。特定の表のレポートが表示されます。
-
「ナビゲータ」タブで、「オブジェクト」サブメニュー
、「データのロード」、「履歴」の順に選択します。「ナビゲータ」タブで選択されているスキーマ内のすべての表のレポートが表示されます。
-
ワークシートの出力ペインで、「データのロード」タブを選択します。これにより、表示可能なすべての表(他のスキーマの表を含む)のレポートが表示されます。
ロードされたデータのサマリーが、「履歴」ダイアログに表示されます。データのロードに失敗した場合、「失敗した行」列に失敗した行の数を表示できます。「失敗した行」列をクリックして、失敗した行を示すダイアログを開きます。
「履歴」ダイアログで、ロードされたファイルをスキーマ名、表名またはファイル名で検索することもできます。ロードしたファイルを削除するには、「すべての履歴を削除」
をクリックします。
「複数のローカル・ファイルから複数の表へのデータのロード」のステップを使用して、ファイルから新しい表にデータをロードすることもできます。
-
3.2.4.4 JSON、AVROおよびXMLファイルの形式の仕様
データを表に正常にロードするには、JSON、AVROおよびXMLファイルに対して特定の形式でデータを格納する必要があります。
形式の仕様については、次の各項で説明します。
3.2.4.4.1 JSONファイルとAVROファイル
JSONファイルおよびAVROファイルの場合、プリミティブ型から表の列への変換は、最上位データでのみサポートされます。ネストしたオブジェクトは、VARCHAR2 (JSON)またはCLOB (JSON)などのJSON文字列として保存されます。
ノート:
JSONチェック制約は、Oracle Database 12c以降のリリースでのみ使用可能です。
例として、次のJSONファイルを考えてみます。
[
{
"ItemNumber": 1,
"Description": "One Magic Christmas",
"Part": {
"UnitPrice": 19.95,
"UPCCode": 13131092899
},
"Quantity": 9,
"Total": 179.55
},
{
"ItemNumber": 2,
"Description": "Lethal Weapon",
"Part": {
"UnitPrice": 17.95,
"UPCCode": 85391628927
},
"Quantity": 5,
"Total": 89.75
}
]
このファイルのAVROスキーマ:
{
"type": "array",
"items": {
"type": "record",
"fields": [
{
"name": "ItemNumber",
"type": "int"
},
{
"name": "Description",
"type": "string"
},
{
"name": "Part",
"type": {
"type": "record",
"fields": [
{
"name": "UnitPrice",
"type": "float"
},
{
"name": "UPCCode",
"type": "float"
}
]
}
},
{
"name": "Quantity",
"type": "int"
},
{
"name": "Total",
"type": "float"
}
]
}
}
「SQL」ページの「データをアップロード」を使用してJSONファイルをロードすると、そのファイルが2行で構成される次の表に変換されます。part
は、データ・マッピング時にCLOB (JSON)列型が割り当てられた、ネストされたオブジェクトです。
3.2.4.4.2 XMLファイル
この項では、XMLファイルをロードするための仕様を示します。
-
属性には独自の列があります
XMLデータが次のように構造化されている場合:
<?xml version="1.0"?> <catalog> <book id="bk102"> <author>Ralls, Kim</author> <title>Midnight Rain</title> <genre>Fantasy</genre> <publisher>John Doe</publisher> </book> </catalog>
表内に生成される列は、
id
、author
、title
、genre
およびpublisher
です。 -
データを解析するには、2つ以上のネスト・レベルが必要です
次の例では、1レベルのネスト(カタログ)しかないので、解析する必要のあるデータは見つかりません。
<?xml version="1.0"?> <catalog> <author>Ralls, Kim</author> <title>Midnight Rain</title> <genre>Fantasy</genre> <publisher>John Doe</publisher> </catalog>
しかし、次の例は有効です。
<?xml version="1.0"?> <catalog> <book id="bk102"> <author>Ralls, Kim</author> <title>Midnight Rain</title> <genre>Fantasy</genre> <publisher>John Doe</publisher> </book> </catalog>
または
<?xml version="1.0"?> <catalog> <bookstore> <book id="bk102"> <author>Ralls, Kim</author> <title>Midnight Rain</title> <genre>Fantasy</genre> <publisher>John Doe</publisher> </book> </bookstore> </catalog>
または
<?xml version="1.0"?> <catalog> <bookstore> <shelf> <book id="bk102"> <author>Ralls, Kim</author> <title>Midnight Rain</title> <genre>Fantasy</genre> <publisher>John Doe</publisher> </book> </shelf> </bookstore> </catalog>
-
タグ名のハイフン(-)やピリオド(.)などの特殊文字は、列名でアンダースコア(_)に置換されます。
XMLタグ名にはハイフンとピリオドを使用できます。パーサーがXMLからJSONに変換するため、これらの文字は無効なオブジェクト・キーになります。
<?xml version="1.0"?> <catalog> <book id="bk102"> <author-name>Ralls, Kim</author-name> <title.1>Midnight Rain</title.1> <genre>Fantasy</genre> <publisher>John Doe</publisher> </book> </catalog>
生成される列は、
id
、author_name
、title_1
、genre
およびpublisher
です。 -
最初のレベルのテキストのみのタグは無視されます
<?xml version="1.0"?> <catalog> <library> New Age Library </library> <book id="bk102"> <author>Ralls, Kim</author> <title>Midnight Rain</title> <genre>Fantasy</genre> <publisher>John Doe</publisher> </book> </catalog>
<library>
タグは無視され、<book>
タグの内容のみが考慮されます。生成される列は、id
、author
、title
、genre
およびpublisher
です。 -
最初のレベルの繰返しデータは、値の配列として解釈されます
<?xml version="1.0" encoding="UTF-8"?> <items id="orders"> <item_number>1</item_number> <description>One Magic Christmas</description> <part> <unit_price>19.95</unit_price> <upccode>13131092899</upccode> </part> <quantity>9</quantity> <total>179.55</total> <item_number>2</item_number> <description>Lethal Weapon</description> <part> <unit_price>17.95</unit_price> <upccode>85391628927</upccode> </part> <quantity>5</quantity> <total>89.75</total> </items>
生成される列には
item_number
、description
、part
が含まれ、各列には、次の値をそれぞれ持つ行が1つのみ含まれます([1,2
]、["One Magic Christmas","Lethal Weapon"
]、[{" unit_price":19.95,"upccode":13131092899},{"unit_price":17.95,"upccode":85391628927
}]など。 -
値と属性を含むタグはオブジェクトに変換されます
<?xml version="1.0"?> <catalog> <book id="bk102"> <author country="ca">Ralls, Kim</author> <title>Midnight Rain</title> <genre>Fantasy</genre> <publisher>John Doe</publisher> </book> </catalog>
<author>
タグは列に変換され、そのオブジェクトは値として次のように構造化されます。{ "_":"Ralls, Kim", "country":"ca" }
タグの値には、アンダースコア(_)がキーとして使用され、属性は"attribute_name": "attribute_value"として示されています。