3.2 「SQL」ページ

「SQL」ページでは、SQL文とPL/SQL文を入力および実行して、データベース・オブジェクトを作成できます。

「SQL」ページにナビゲートするには、次のいずれかを実行します。

  • 「起動パッド」ページで、「SQL」をクリックします。

  • セレクタ セレクタ・アイコン をクリックして、ナビゲーション・メニューを表示します。「開発」で、「SQL」を選択します。

SQLおよびPL/SQL文をワークシートで使用して、表の作成、データの挿入、トリガーの作成と編集、表からのデータの選択、およびファイルへのデータの保存を行うことができます。その他の機能には、構文の強調表示とエラー検出があります。

「SQL」ページは、ワークシートとオブジェクトのナビゲート用の左ペイン、SQL文を実行するためのエディタ、および結果を表示するための出力ペインで構成されています。次の項ではこれらの拡張機能について説明します。

3.2.1 オブジェクトとワークシートのナビゲート

左ペインの「ナビゲータ」タブに、選択したスキーマの保存済オブジェクトが表示されます。

次の図は、左ペインの様々な要素を示しています。

図3-1 「SQL」の左ペイン

worksheet_left_pane.jpgの説明が続きます
図worksheet_left_pane.jpgの説明

  • 「スキーマ」セレクタと「オブジェクト・タイプ」セレクタ: ドロップダウン・リストを使用してスキーマを選択し、オブジェクト・タイプで結果をフィルタ処理します。

  • 「ワークシート」タブ: ブラウザに保存されているワークシートが表示されます。コンテキスト(右クリック)・メニューを使用すると、既存のワークシートを開いたり削除できます。

    ノート:

    作成されるワークシートは、ワークシートの保存時にセッションに使用したブラウザ(Internet Explorer、Mozilla FirefoxまたはGoogle Chrome)に依存しており、他のブラウザからはアクセスできません。
  • 検索: 保存済ワークシートのコンテンツを検索したり、「ナビゲータ」タブのオブジェクトを名前で検索します。検索機能では大/小文字が区別されず、一致するエントリがすべて取得され、ワイルドカード文字を使用する必要はありません。

  • コンテキスト・メニュー: コンテキスト・メニューのオプションは次のとおりです。

    • 「開く」では、オブジェクト・タイプ(表およびビュー)に関連するプロパティおよびデータを参照します。

      「データ」ペインには、表、ビューまたはマテリアライズド・ビューのデータが表示されます。

      エントリを編集するには、セルをダブルクリックして編集します。view value_iconをクリックして、値を入力することもできます。編集すると、その行の溝のセルの枠線が青に変ります。

      「データ」ペインで使用可能なアイコンは次のとおりです。

      • 行の作成: データベース表に新しい行を挿入します。「行の作成」アイコンを使用して行を挿入すると、その行はデータベースにコミットされます。
      • 選択項目の削除: 選択された行を削除対象としてマークします行を削除対象としてマークすると、その行の枠線が赤に変ります。

      • コミット: データベースに対するすべての変更をコミットします。

      • すべて元に戻す: コミット対象としてマークされているすべての変更を元に戻します。

      右上隅にある「フィルタ」アイコンを使用して、列データをフィルタ処理します。セルを右クリックしてコンテキスト・メニューにアクセスし、行のカウント、単一レコードの表示、セル・テキストのエクスポートまたはクリップボードへのコピーを行うこともできます。

      バイナリ・ラージ・オブジェクトのデータ型(BLOB)を表示するには、BLOBデータ型の鉛筆アイコンをクリックします。「値の表示」ダイアログでは、次のとおりです。
      • 「イメージ」タブには、ロードされたBLOBタイプがイメージの場合、ロード済のイメージが表示されます。
      • 「テキスト」タブには、ロードされたBLOBタイプがテキストの場合、テキスト・ファイルが表示されます。
      • 「情報」タブには、詳細が表示され、次のアクションを実行できます。
        • ダウンロード: BLOBデータ型のイメージ/テキスト・ファイルをダウンロードする場合。
        • ロード: BLOBデータ型のイメージ/テキストを挿入する場合。
        • NULLの設定: オブジェクトを削除し、値をNULLに設定する場合。
    • 「編集」は、既存のオブジェクトのプロパティを編集します。

    • 「追加」は、選択したオブジェクト・タイプに基づいてオブジェクトを作成します。

    • 「テンプレートとして使用」は、既存のオブジェクトのプロパティをテンプレートとして使用してオブジェクトを作成します。

    • REST

    • 「データのロード」は、ローカル・ファイルから表にデータをロードします。

    • 「クイックDDL」は、オブジェクトのデータ定義言語文を生成します。

  • リフレッシュ「リフレッシュ」アイコン: 左ペインにリストされているオブジェクトまたはワークシートをリフレッシュします。

  • オブジェクト・サブメニュー「オブジェクト・サブメニュー」アイコン: 「オブジェクトの作成」ダイアログを開き、ドロップダウン・リストで選択したタイプに基づいて新しいオブジェクトを作成します。

  • ヘルプ「ヘルプ」アイコン: コンテキスト・ヘルプ・ドキュメントを提供します。

オブジェクトを左ペインからドラッグし、右ペインのワークシート・エディタにドロップできます。

  • 表またはビューをドラッグ・アンド・ドロップする場合、「挿入」、「更新」、「選択」または「削除」のいずれかのSQL文を選択するように求められます。たとえば、「選択」を選択すると、表またはビュー内のすべての列でSELECT文が作成されます。その後、列リストの変更やWHERE句の追加などによって、文を編集できます。

    図3-2 選択問合せの挿入

    図3-2の説明が続きます
    「図3-2 選択問合せの挿入」の説明

    「オブジェクト名」を選択すると、スキーマ名の接頭辞が付いたオブジェクトの名前がワークシートに追加されます。

  • ファンクションまたはプロシージャをドラッグ・アンド・ドロップする場合、ワークシートにファンクションまたはプロシージャの名前またはPL/SQLコードを挿入するように選択できます。PL/SQLコードを選択した場合は、ワークシートにコードを挿入する前にパラメータを入力できます。

3.2.2 コード・エディタでのSQL文の実行

SQLページのコード・エディタでは、SQL文およびPL/SQL文とスクリプトを実行できます。主な機能には、コンテキスト内コード補完、構文ハイライトおよびエラー・デバッグが含まれます。

SQL文およびPL/SQL文を入力して、表の作成、データの挿入、データの選択または表からのデータの削除などのアクションを指定できます。SQLキーワードは、自動的にハイライト表示されます。複数の文の場合、次を終了する必要があります。

  • PL/SQL以外の各文: 改行でセミコロン(;)またはスラッシュ(/)のいずれかを使用して
  • 各PL/SQL文: 改行でスラッシュ(/)を使用して

ワークシートでサポートされているSQL*PlusおよびSQLcl文については、サポートされているSQL*PlusおよびSQLclコマンドを参照してください。

[Ctrl]+[Space]を押すと、挿入ポイントで補完可能な構文のリストが表示されます。これは、編集中のコードを自動補完するために使用できます。このリストは、挿入ポイントでのコードのコンテキストに基づきます。

エディタには、コマンド・パレットから使用できるコマンドの包括的なリストが用意されています。コマンド・パレットを開くには、[Ctrl]+[Shift]+[P]を押します。キーボード・ショートカット・キーのリストは、キーボード・ショートカットを参照してください。

コードのエラーは、左余白の赤い点と、特定のテキストの下にある四角形の線で示されます。カーソルを置くと、エラーを解決するための可能な修正がポップアップで表示されます。

右上のユーザー・ドロップダウン・リストにある「プリファレンス」オプションを使用して、コード・エディタのプリファレンスを設定できます。カスタマイズ可能なコード・エディタ・オプションには、テーマ(明るい、暗い、高コントラストの暗い)、フォント・サイズとファミリ、タブ・サイズ、ワードラップ、ルーラー、行番号などがあります。

「SQL」ツールバーには、次の操作のアイコンが含まれています。

  • 「ワークシート」を使用すると、ワークシートの作成、既存のワークシートのオープンまたは削除、およびワークシートの保存を行うことができます。

    ノート:

    ワークシートはブラウザで保存されます。したがって、パブリック・ネットワーク内のコンピュータで重要な作業を行う場合は、ブラウザ・キャッシュをクリアしてから終了してください。また、保存されたワークシートは、ワークシートの作成時に使用されたブラウザでのみ表示されます。
  • 「文の実行」は、ワークシート・エディタで選択した文またはマウス・ポインタで示した文を実行します。SQL文には、VARCHAR2型のバインド変数および置換変数を含めることができます(ただし、ほとんどの場合、VARCHAR2は、必要に応じてNUMBERに自動的に内部変換されます)。変数の値を入力するためのダイアログ・ボックスが表示されます。

  • 「スクリプトの実行」は、スクリプト・ランナーを使用してワークシート・エディタ内のすべての文を実行します。SQL文には、VARCHAR2型のバインド変数(置換変数ではない)を含めることができます(ただし、ほとんどの場合、VARCHAR2は必要に応じて自動的にNUMBERに変換されます)。バインド変数値を入力するためのダイアログ・ボックスが表示されます。

  • 「チャートの作成」では、エディタで入力した対応するSQL文のチャートが作成されます。それに対し、サブクエリーを部分的に強調表示してチャートを作成できます。チャート・パラメータを入力するためのスライダ・ウィンドウが表示されます。フィールドの詳細は、「チャートの作成または編集」を参照してください。

    SQL文が構文的に正しくないか不完全である場合、エラー/警告通知が表示されます。

  • 実行計画: (EXPLAIN PLAN文を内部的に実行して)文の実行計画を生成します。実行計画は、ワークシート出力ペインの「実行計画」タブに自動的に表示されます。

  • 「自動トレース」では、文が実行され、ランタイム統計と実際の実行計画が収集されます。自動トレース出力は、ワークシート出力ペインの「自動トレース」タブに表示されます。現在のところ、使用可能なプリファレンスはありません。

  • エディタ・コンテンツのダウンロードは、ワークシートのコンテンツをSQLファイルとしてローカル・システムにダウンロードします。

  • 「フォーマット」では、文の名前、句、キーワードの大文字化、改行およびインデントの追加など、エディタでSQL文がフォーマットされます。

  • 「クリア」は、エディタから文を削除します。

  • 「ツアー」は、ワークシートのガイド付きツアーを提供します。主な機能が強調表示され、インタフェースを初めて使用する場合に便利な情報が示されます。

  • 「ヘルプ」はコンテキスト関連のヘルプを提供し、ヘルプ・ドキュメントへのリンクを示します。

3.2.2.1 キーボード・ショートカット

この項では、SQLページの様々なコマンドのキーボード・ショートカットを示します。

表3-1 キーボード・ショートカット

Windows MacOS 説明

[Ctrl]+[Enter]

[Cmd]+[Enter]

コードを問合せとして実行します。

[Ctrl]+下矢印

[Cmd]+下矢印

履歴から次のSQLコードに移動します。

[Ctrl]+上矢印

[Cmd]+上矢印

履歴から前のSQLコードに移動します。

[Ctrl]+[S]

[Cmd]+[S]

現在のワークシートを保存します。

[Ctrl]+[O]

[Cmd]+[O]

ワークシート・ブラウザ・ダイアログを開きます。

[Ctrl]+[I]

[Cmd]+[I]

エディタのコンテンツをダウンロードします。

F1 [Fn]+[F1] ヘルプ・トピックを開きます。

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.3 SQL出力の表示

「SQL」の右下のペインには、SQLエディタで実行された操作の出力が表示されます。

次の図に、「SQL」ページの出力ペインを示します。

出力ペインには次のタブがあります。

  • 問合せ結果: 表示表における直近の「文の実行」操作の結果を表示します。

  • スクリプト出力: スクリプト・エンジンを使用して、スクリプトとして実行された文からのテキスト出力を表示します。

  • DBMS出力: DBMS_OUTPUTパッケージ文の出力が表示されます。

  • 実行計画:「実行計画」コマンドを使用して、問合せの計画を表示します。

  • 自動トレース: 自動トレース機能を使用してSQL文を実行するときに、v$sql_planからセッション統計および実行計画を表示します。「自動トレース」アイコンをクリックすると、出力が表示されます。

  • SQL履歴: 実行したSQL文およびスクリプトが表示されます。ワークシートで以前に実行した問合せを再度入力するには、履歴リストで問合せをダブルクリックします。「検索」アイコンをクリックすると、特定の文を検索できます。検索機能は大/小文字を区別し、検索テキストを含むすべてのエントリを取得して、ワイルドカード文字を必要としません。

  • データのロード: すべての表示可能な表(他のスキーマからの表を含む)でロードされた行および失敗した行の合計のレポートを表示します。

このペインのアイコンは次のとおりです。

  • 出力のクリア: 出力をクリアします。

  • 情報の表示: 出力を表示するSQL文を表示します。

  • 新規タブで開く: 問合せ結果または実行計画を新しいウィンドウで開きます。

  • ダウンロード: これは問合せ結果にのみ適用可能です。CSV、JSON、XMLまたはTEXT(.tsv)形式で、問合せ結果をローカル・コンピュータにダウンロードできます。

「問合せ結果」タブの表示表で、行ヘッダーのコンテキスト・メニュー(右クリック)は次で構成されます。

  • 「列」を使用すると、非表示にする列を選択できます。

  • ソート: ソートの基準とする列を選択するためのダイアログ・ボックスを表示します。各列で、昇順または降順を指定したり、NULL値が最初に表示されるように指定できます。

図3-4 行ヘッダーのコンテキスト・メニュー

図3-4の説明が続きます
「図3-4 行ヘッダーのコンテキスト・メニュー」の説明

残りの表示表のコンテキスト・メニューは、次のコマンドで構成されます。

  • 「行数のカウント」には、問合せの結果セット内の行数が表示されます。

  • 単一レコード・ビューでは、表またはビューのデータを一度に1つずつ表示できます。

  • エクスポートでは、選択した形式に基づいてダウンロード用のファイルが生成されます。これは、XML、CSV (列識別子のヘッダー行を含むカンマ区切り値)、挿入、デリミタ付き、固定、HTML、JSONまたはTEXTのいずれかになります。
    • 書式: ドロップダウン・リストからエクスポートする書式を選択します。

    • 行の終了文字: 各行の終了文字を指定します。終了文字は、エクスポートされるデータ内には含まれていません。プレビュー・ページでデータが1行に表示される場合、正しい終了文字が指定されていません。

    • ヘッダー: 最初の行がヘッダー行であるか、データの先頭行であるかを制御します。

    • 左囲みおよび右囲み: 囲みは文字データに対して、必要に応じて使用されます。囲みは、エクスポートされるデータ内には含まれません。

    ノート:

    ポップアップ・ブロッカが有効な場合、ファイルはダウンロードできません。
  • 「コピー」は、セル、行または行の範囲からデータをコピーします。

図3-5 コンテキスト・メニュー

図3-5の説明が続きます
「図3-5 コンテキスト・メニュー」の説明

3.2.4 データのロード

「SQL」ページでは、ローカル・ファイルから既存の表または新しい表にデータをロードできます。

ロードできるファイル形式は、CSV、XLS、XLSX、TSV、TXT、XML、JSONおよびAVROです。XML、JSONおよびAVROファイルについては、JSON、AVROおよびXMLファイルの形式の仕様を参照してください。

3.2.4.1 ローカル・ファイルから新しい表へのデータのロード

ローカル・ファイルから新しい表にデータをロードするには、次のステップを実行します。

  1. 次のいずれかの方法で開始できます。

    • 「ナビゲータ」タブの左ペインで、オブジェクト・サブメニューオブジェクト・サブメニューをクリックし、「データのロード」を選択してから、「新規表へのデータのアップロード」を選択します。

      図3-6 「新規表へのデータのアップロード」オプション

      図3-6の説明が続きます
      「図3-6 「新規表へのデータのアップロード」オプション」の説明
    • 「ナビゲータ」タブで、ローカル・ファイルを左側のペインにドラッグ・アンド・ドロップします。ペインにファイルをドラッグすると、ここにファイルをドロップして開始しますというメッセージが表示されます。

    • ワークシートの出力ペインで、「データのロード」タブを選択し、ローカル・ファイルを出力ペインにドラッグ・アンド・ドロップします。

      図3-7 「データのロード」タブ

      図3-7の説明が続きます
      「図3-7「データのロード」タブ」の説明

    新しい表へのデータのアップロードが表示されます。データのプレビューが、グリッド形式で表示されます。

  2. 「オプションの表示/非表示」「オプションの表示/非表示」アイコンをクリックして、データ・プレビューで変更できるオプションを表示します。
    • 列名: 「ファイルから取得」を選択すると、1行目に列ヘッダーが表示されます。

    • エンコーディング: エンコーディング・タイプを選択するためのオプションは、ロードされたファイルがプレーン・テキスト形式(CSV、TSVまたはTXT)の場合に表示されます。デフォルトのエンコーディング・タイプはUTF-8です。
    • テキスト囲みおよびフィールド・デリミタ: これらのオプションは、選択したファイルがプレーン・テキスト形式(CSV、TSVまたはTXT)である場合にのみ表示されます。テキスト囲みとフィールド・デリミタ用にソース・ファイルで使用されている文字を選択または入力します。

    • スキップする行: スキップする行数を入力するか、上矢印と下矢印を使用して選択します。

    • プレビュー・サイズ: プレビューする行数を入力するか、上矢印と下矢印を使用して選択します。

    • アップロードする行を制限: このオプションを選択する場合は、ロードする行数を指定する必要があります。上矢印および下矢印を使用して、ロードする行数を選択します。

    選択したオプションとデータ・プレビューを削除するには、「クリア」をクリックします。

    必要なオプションを選択してから、「適用」をクリックして「次」をクリックします。

  3. 「表の定義」で、次の設定を行います。

    • 「表名」フィールドに、ターゲット表の名前を入力します。

    • ターゲット表に追加する列の行の先頭のチェック・ボックスを選択します。

    • 「列名」、「列の型」、「精度」、「スケール」、「デフォルト」、「主キー」、「Null値可能」などの列属性の値を選択または入力します。

    • 日付、タイムスタンプ、数値型のデータの場合は、「書式マスク」列が表示されます。日付型およびタイムスタンプ型の場合、ドロップダウン・リストから値を選択するか、「書式マスク」フィールドに値を入力する必要があります。数値型の場合、書式マスクはオプションです。

      日付列およびタイムスタンプ列の場合、アップロードするデータを表示する互換性のある書式マスクを指定する必要があります。たとえば、日付データが12-FEB-2021 12.21.30などの場合は、日付マスクにDD-MON-YYYY HH.MI.SSを指定する必要があります。書式マスクは、ファイル内のデータに基づいて自動的に決定されます。提案された書式マスクを確認し、必要に応じて、ターゲット・セルに直接書式を入力して変更する必要があります。

    図3-8 「新しい表へのデータのアップロード」の「表の定義」のステップ

    図3-8の説明が続きます
    「図3-8 「新しい表へのデータのアップロード」の「表の定義」のステップ」の説明

    「次へ」をクリックします。

  4. 前の画面で行った選択に基づいて生成されたDDLコードを確認します。ソース列からターゲット列へのマッピングも表示されます。

    「終了」をクリックします。データが正常にロードされると、新しい表が「ナビゲータ」タブに表示されます。

  5. ロードされた行および失敗した行の合計に関する詳細なレポートを表示するには、次のいずれかを実行します。
    • 「ナビゲータ」タブで表を右クリックし、「データのロード」「履歴」の順に選択します。特定の表のレポートが表示されます。

    • 「ナビゲータ」タブで、「オブジェクト」サブメニューオブジェクト・サブメニュー「データのロード」「履歴」の順に選択します。「ナビゲータ」タブで選択されているスキーマ内のすべての表のレポートが表示されます。

    • ワークシートの出力ペインで、「データのロード」タブを選択します。これにより、表示可能なすべての表(他のスキーマの表を含む)のレポートが表示されます。

    ロードされたデータのサマリーが、「履歴」ダイアログに表示されます。データのロードに失敗した場合、「失敗した行」列に失敗した行の数を表示できます。「失敗した行」列をクリックして、失敗した行を示すダイアログを開きます。

    「履歴」ダイアログで、ロードされたファイルをスキーマ名、表名またはファイル名で検索することもできます。ロードしたファイルを削除するには、「すべての履歴を削除」すべての履歴を削除をクリックします。

3.2.4.2 ローカル・ファイルから既存の表へのデータのロード

ローカル・ファイルから既存の表にデータをロードするには:

  1. 「ナビゲータ」タブの左ペインで、データのロード先の表を右クリックし、「データのロード」を選択してから「データのアップロード」を選択します。

    図3-9 既存の表の「データのアップロード」オプション

    図3-9の説明が続きます
    「図3-9 既存の表の「データのアップロード」オプション」の説明

    「データのインポート」ダイアログが表示されます。

  2. ファイルをシステムからダイアログにドラッグ・アンド・ドロップするか、「ファイルを選択」をクリックしてファイルを参照し、開きます。

    データのプレビューが、グリッド形式で表示されます。

  3. 「オプションの表示/非表示」「オプションの表示/非表示」アイコンをクリックして、データ・プレビューで変更できるオプションを表示します。
    • 列名: 「ファイルから取得」を選択すると、1行目に列ヘッダーが表示されます。
    • エンコーディング: エンコーディング・タイプを選択するためのオプションは、ロードされたファイルがプレーン・テキスト形式(CSV、TSVまたはTXT)の場合に表示されます。デフォルトのエンコーディング・タイプはUTF-8です。
    • テキスト囲みおよびフィールド・デリミタ: これらのオプションは、選択したファイルがプレーン・テキスト形式(CSV、TSVまたはTXT)である場合にのみ表示されます。テキスト囲みとフィールド・デリミタ用にソース・ファイルで使用されている文字を選択または入力します。
    • スキップする行: スキップする行数を入力するか、上矢印と下矢印を使用して選択します。
    • ロードする行: ロードする行数を入力するか、上矢印と下矢印を使用して選択します。
    • プレビュー・サイズ: プレビューする行数を入力するか、上矢印と下矢印を使用して選択します。

    選択したオプションとデータ・プレビューを削除するには、「クリア」をクリックします。

    必要なオプションを選択してから、「適用」をクリックして「次」をクリックします。

  4. データ・マッピングで、ファイル内のデータをターゲット表の適切な列と照合します。デフォルトでは、列名を使用して照合が実行されます。

    図3-10 データ・マッピング

    図3-10の説明が続きます
    「図3-10 データ・マッピング」の説明

    変更するには、「オプションの表示/非表示」「オプションの表示/非表示」アイコンをクリックします。「列の照合基準」で次を実行します。

    • 「名前」を選択すると、ターゲット表の列名に基づいて列が照合されます。
    • ターゲット表内の列の位置に基づいて列を照合する場合は、「位置」を選択します。
    • 現在の選択を削除して、ドロップダウン・リストから各ソース列のターゲット列を選択する場合は、「なし」を選択します。

    ノート:

    ファイル内のデータに基づいて、日付ベースの列の正しい書式マスクを自動的に取得しようとします。これが正しくない場合は、提案された書式をターゲット・セルに直接入力して変更できます。

    解決する問題がある場合は、ダイアログの右上にアイコンのような通知が表示されます。

    「次へ」をクリックします。

  5. 前の画面のサマリーが表示されます。「終了」をクリックします。

    データはターゲット表へのアップロードを開始します。完了すると、操作のステータスとともにエントリが「ログ」に追加されます。「ログ」を表示するには、ページ下部のタイムスタンプ通知をクリックします。操作が成功すると、「データのインポートが完了しました。」通知が表示されます。

  6. アップロード・プロセスの詳細なサマリーを参照するには、「ナビゲータ」タブで表を右クリックし、「データのロード」「履歴」の順に選択します。ロードされたデータのサマリーが、データのロードの履歴ダイアログに表示されます。

    データのロードに失敗した場合、「失敗した行」列に行数を表示できます。列をクリックして、失敗した行を示すダイアログを開きます。

    データのロードの履歴ダイアログで、ロードされたファイルをスキーマ名、表名またはファイル名で検索することもできます。ロードしたファイルを削除するには、「すべての履歴を削除」すべての履歴を削除をクリックします。

3.2.4.3 JSON、AVROおよびXMLファイルの形式の仕様

データを表に正常にロードするには、JSON、AVROおよびXMLファイルに対して特定の形式でデータを格納する必要があります。

形式の仕様については、次の各項で説明します。

3.2.4.3.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.3.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>

    表内に生成される列は、idauthortitlegenreおよび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>

    生成される列は、idauthor_nametitle_1genreおよび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>タグの内容のみが考慮されます。生成される列は、idauthortitlegenreおよび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_numberdescriptionpartが含まれ、各列には、次の値をそれぞれ持つ行が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"として示されています。