1.5 ワークシートの使用

SQL Developer Webでは、ワークシートはSQL文およびPL/SQL文の入力および実行に使用されるコード・エディタです。

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

データベース管理者は、ダッシュボードの「クイック・リンク」ペインからワークシートにアクセスすることもできます。

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

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

左ペインの「ナビゲータ」タブに、選択したスキーマの保存済オブジェクトが表示されます。ドロップダウン・メニューを使用すると、オブジェクトを表示するスキーマを選択したり、オブジェクト型別に結果をフィルタ処理できます。

「ワークシート」タブには、ブラウザに保存されているワークシートが表示されます。表示されるワークシートは、ワークシートの保存時にSQL Developer Webセッションに使用したブラウザ(Internet Explorer、Mozilla FirefoxまたはGoogle Chrome)に依存しており、他のブラウザからはアクセスできません。コンテキスト(右クリック)・メニューを使用すると、既存のワークシートを開いたり削除できます。

保存済ワークシートのコンテンツを検索したり、「ナビゲータ」タブのオブジェクトを名前で検索することもできます。検索機能では大/小文字が区別されず、一致するエントリがすべて取得され、ワイルドカード文字を使用する必要はありません。

オブジェクトまたはワークシート・リストをリフレッシュするには、リフレッシュアイコンをクリックします。新規オブジェクトを作成する場合は、新規オブジェクトアイコンをクリックします。

コンテキスト関連のヘルプの場合、ヘルプアイコンをクリックします。

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

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

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

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

1.5.1.1 データベース・オブジェクト

「ナビゲータ」タブのコンテキスト・メニューを使用して、一部のオブジェクト型のオブジェクトを作成および編集できます。オブジェクト型(表など)の既存のオブジェクトがない場合は、最初にドロップダウン・リストからオブジェクト型を選択した後に、「新規オブジェクト」アイコンを使用してオブジェクトを作成できます。すべてのオブジェクトについて、コンテキスト・メニューには「クイックDDL」が含まれており、これによって、ワークシートまたはテキスト・ファイルにオブジェクトを作成するためのDDL文を保存します。様々なオブジェクト型と対応するオプションは次のとおりです。

  • : 表はデータの保持に使用されます。それぞれの表には、その表に関連付けられたデータベース・エンティティの属性を表す複数の列が存在し、それぞれの列には、データ型が関連付けられます。

    コンテキスト・メニューで使用可能なオプションを使用して、新しい表を作成したり、既存の表を編集したり、索引を追加できます。または、「テンプレートとして使用」を選択すると、選択したオブジェクトの情報を含むダイアログ・ボックスが表示されます。次に、オブジェクト名やその他の定義を必要に応じて変更し、そのタイプの新しいオブジェクトを作成します。フィールドの詳細は、「表の作成または編集」を参照してください。

  • ビュー: ビューは、1つ以上の基礎となる表からデータを選択する仮想表です。ビューの作成および編集の詳細は、「ビューの作成または編集」を参照してください。

  • 索引: 索引には、表の索引付けされた列に表示され、行に対して直接的な高速アクセスを提供する各値のエントリが含まれています。表の索引の作成および編集の詳細は、「索引の作成または編集」を参照してください。

  • パッケージファンクションプロシージャ: パッケージにはサブプログラムが含まれており、データベース・サーバーに格納して実行したり、他のプログラミング・オブジェクトまたはアプリケーションからコールできるプログラミング・オブジェクトです。パッケージには、ファンクションまたはプロシージャ(あるいはその両方)を格納できます。コンテキスト・メニューから「実行」を選択して、選択したファンクション、プロシージャまたはパッケージのコードをワークシートに挿入します。

  • トリガー: トリガーは、表、スキーマまたはデータベースに関連付けられたストアドPL/SQLブロック、無名PL/SQLブロック、あるいはPL/SQLやJavaに実装されたプロシージャへのコールです。

  • : データ型は、表の列やファンクションまたはプロシージャの引数で使用できる値を、一定のプロパティのセットと関連付けます。

  • 順序: 順序は、一意の整数を生成するために使用されます。順序を使用すると、主キー値を自動的に生成できます。順序の作成および編集の詳細は、「順序の作成または編集」を参照してください。

  • マテリアライズド・ビュー: マテリアライズド・ビューは、問合せ結果を含むデータベース・オブジェクトです。問合せでFROM句を使用すると、表、ビューおよびその他のマテリアライズド・ビューの名前を指定できます。マテリアライズド・ビューの作成および編集の詳細は、「マテリアライズド・ビュー」を参照してください。

  • マテリアライズド・ビュー・ログ: マテリアライズド・ビュー・ログとは、マテリアライズド・ビューのマスター表に関連付けられた表です。マスター表のデータにDML変更が加えられた場合、Oracle Databaseでは、その変更を記述した行がマテリアライズド・ビュー・ログに格納され、そのマテリアライズド・ビュー・ログを使用して、マスター表に基づくマテリアライズド・ビューがリフレッシュされます。

  • シノニム、パブリック・シノニム: シノニムは、表、ビュー、順序、プロシージャ、ストアド・ファンクション、パッケージ、マテリアライズド・ビュー、Javaクラス・データベース・オブジェクト、ユーザー定義オブジェクト型、または別のシノニムの代替名です。

  • データベース・リンク: データベース・リンクはデータベース内のデータベース・オブジェクトで、これを使用すると他のデータベースのオブジェクトにアクセスできます。データベース・リンクを作成した後は、それを使用して他のデータベースの表およびビューを参照できます。

1.5.2 ワークシート・エディタでのSQL文の実行

右ペインのワークシート・エディタを使用すると、実行するSQL文を入力できます。SQL文およびPL/SQL文を使用して、表の作成、データの挿入、データの選択または表からのデータの削除などのアクションを指定できます。複数の文の場合、PL/SQL以外の各文は、セミコロンまたは(改行後の)スラッシュ(/)のいずれかで終了する必要があります。各PL/SQL文は、改行後にスラッシュ(/)で終了する必要があります。SQLキーワードは、自動的にハイライト表示されます。

SQLワークシートでサポートされているSQL*Plus文のリストは、サポートされているSQL*Plus文に関する項を参照してください。

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

autocomplete_wrksheet.pngの説明が続きます
図autocomplete_wrksheet.pngの説明

コードのエラーは、赤い点または曲線で示されます。カーソルを置くと、エラーを解決するための可能な修正がポップアップで表示されます。

error_wrksheet.pngの説明が続きます
図error_wrksheet.pngの説明

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

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

    注意:

    ワークシートはブラウザで保存されます。したがって、パブリック・ネットワーク内のコンピュータで重要な作業を行う場合は、ブラウザ・キャッシュをクリアしてから終了してください。また、保存されたワークシートは、ワークシートの作成時に使用されたブラウザでのみ表示されます。

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

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

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

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

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

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

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

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

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

ワークシートで使用されるショートカットのリストは、「ワークシートのショートカット・キー」を参照してください。

1.5.2.1 ワークシートのショートカット・キー

次の表に、ワークシートの様々なユーザー・アクションのショートカット・キーを示します。

表1-1 ワークシートにおけるユーザー・アクションのショートカット・キー

ショートカット アクション

[Ctrl]+[Enter]/[Cmd]+[Enter]

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

[Ctrl]+[↓]/[Cmd]+[↓]

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

[Ctrl]+[↑]/[Cmd]+[↑]

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

[Ctrl]+[D]/[Cmd]+[D]

エディタをクリアします。

[Ctrl]+[S]/[Cmd]+[S]

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

[Ctrl]+[O]/[Cmd]+[O]

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

[Ctrl]+[I]/[Cmd]+[I]

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

F1

ヘルプ・トピックを開きます。

F5

コードをスクリプトとして実行します。

F6

自動トレースを表示します。

F10

実行計画を表示します。

[Ctrl]+[F7]/[Cmd]+[F7]

エディタでコードをフォーマットします。

[Ctrl]+[Space]/[Cmd]+[Space]

コードを自動補完します(ヒントを表示)。

[Windows]+[Esc]/[Cmd]+[Esc]

エディタの外側にフォーカスし、[Tab]キーを使用してアプリケーションの残りの部分にナビゲートします。

1.5.2.2 表の作成または編集

「表のプロパティ」ダイアログは、表を作成したり、既存の表を編集したり、既存の表をテンプレートとして使用して表を作成する際に表示されます。表を作成または編集するには、「ナビゲータ」タブで表オブジェクトを右クリックします。表オプションは、Data Modelerの「ナビゲータ」タブで表オブジェクトを右クリックしたときにも使用できます。表のプロパティはいくつかのペインにグループ分けされています。

既存の表の編集では、任意の順序でペインにアクセスできます。表の作成を終了する前に「作成」をクリックした場合、表名を右クリックして「編集」を選択し、表の作成を続行します。

注意:

パーティション表の編集はお薦めしません。パーティション表の場合、右クリックして「編集」を選択すると、警告メッセージが表示されます。これは、表がパーティション化されているかどうかを識別する方法です。

スキーマ: 表を作成するデータベース・スキーマ。デフォルトでは、既存のスキーマまたはログインしているスキーマに新しい表が作成されます。

名前: 表の名前。

ダイアログ内の各ペインについては、次の各項で説明します。

「列」ペイン

表の各列のプロパティを指定します。

「一般」タブ

現在、表に存在している列をリストします。列を追加するには、「列の追加」(+)アイコンをクリックし、追加するプロパティがある列を下の表から選択して、下部のフィールドに各列の詳細を入力します。列を削除するには、行を選択して「列の削除」(-)アイコンをクリックします。表定義で列を上下に移動するには、その列を選択して上矢印ボタンと下矢印ボタンを使用します。

  • 名前: 列の名前。

  • データ型: 列のデータ型。

  • デフォルト: 値が指定されていない場合、行の挿入時に列に挿入されるデフォルト値。

  • NULLのデフォルト: Oracle Database 12c以降のリリースに適用できます。このオプションを選択すると、表に行が挿入されてその列に指定した値がNULLの場合、デフォルト値が列に挿入されます。

  • : 列の値を計算する式。

  • コメント: 列についての説明コメント(オプション)。このフィールドを使用して、属性の説明を指定します。

この表の各項目は、次のとおりです。

  • PK: このオプションを選択すると、列が主キーになります。

  • ID列: このオプションを選択すると、列がID列になります。これは、Oracle Database 12c以降のリリースにのみ適用できます。詳細は、「「ID列」タブ」を参照してください。

「制約」タブ

列の「NOT NULL」および「CHECK制約」を表示します。チェック制約は、列の値が、指定された条件を満たすことを必要とします。

  • NOT NULL制約: 名前: NOT NULL制約の名前。

  • NOT NULL制約: NOT NULL: このオプションを選択すると、列にはデータが含まれている必要があります。行を挿入するときに、この列に値を指定することも、明示的なNULL値を指定することもできません。このオプションを選択しない場合、列にデータを含めることも含めないことも可能です。主キー列にNULLは指定できません。

  • CHECK制約: 名前: チェック制約定義の名前。

  • CHECK制約: 制約: チェック制約を満たす列に対して満たす必要がある条件。有効なCHECK句を使用できます(CHECKキーワードは不要)。たとえば、RATINGという数値列の値が1から10の範囲内でなければならないことを示すには、rating >=1 and rating <= 10と指定します。

  • 有効: このオプションを選択すると、列にデータを入力または更新するときに制約がチェックされます。

  • 遅延可能: このオプションを選択すると、トランザクションの終了まで制約の妥当性チェックを遅らせることができます。

  • 初期即時: このオプションを選択すると、列に対してデータを追加、更新または削除するたびに制約がチェックされます。

  • 検証: このオプションを選択すると、既存のデータが制約に適合するかどうかがチェックされます。

「ID列」タブ

Oracle Database 12c以降のリリースに適用できます。「ID列」タブには、ID列のプロパティがリストされます。このタブは、「一般」タブの列に対して「ID列」チェック・ボックスが選択された後に初めて使用可能になります。ID列は、表の行を識別するために使用できる自動増分列です。1つの表に指定できるのは1つのID列のみです。

  • 生成: 「常時」は、INSERTまたはUPDATE文のID列に値を明示的に含めることができないことを意味します。「デフォルト」の場合、デフォルトでは、値が明示的に指定されていない場合はID列の値が自動的に生成され、「NULLのデフォルト」はNULL値が指定されている場合にのみ列の値が生成されることを意味します。

  • 開始: 順序の開始値。

  • 増分: 順序内の連続する番号間の間隔。

  • 最小値: 順序の下限値。デフォルトは、昇順では1、降順では-(10^26)です。

  • 最大値: 順序の上限値。デフォルトは、昇順では10^27、降順では-1です。

  • 「キャッシュ」および「キャッシュ・サイズ」: 「キャッシュ」を選択すると、順序値がキャッシュに事前に割り当てられ、アプリケーションのパフォーマンスが向上します。「キャッシュ・サイズ」には、キャッシュに事前割当てする順序値の数を指定します。「キャッシュなし」では、順序値がキャッシュに事前割当てされません。

  • サイクル: 順序が昇順では最大値、降順では最小値に達した時点で最初に戻り、番号が再利用されるようにするかどうかを指定します。値の循環を有効にしない場合、順序が最大値または最小値に達した時点で、それ以上の値は生成できません。

  • 順序: 要求された順序で順序番号を生成するかどうかを指定します。順序なしを指定する場合、順序番号が要求順になるかどうかは保証されません。

「主キー」ペイン

表の主キーを指定します。主キーは、表の各行を一意に識別する列または列セットです。「一般」タブの列に対して「主キー」チェック・ボックスが選択されている場合、対応するフィールドが「主キー」ペインに自動的に移入されます。必要に応じてプロパティを変更できます。

主キーには索引が自動的に作成されます。

  • 名前: 主キー定義に関連付ける制約の名前。

  • 有効: このオプションを選択すると、主キー制約が適用されます。主キー列(または列セット)にはNULLではない一意のデータが必要です。

  • 索引: 主キーが参照する索引の名前。

  • 表領域: 索引に関連付けられた表領域の名前。

  • 使用可能な列: 主キー定義に追加できる列のリスト。必要に応じて、主キーに複数の属性を選択できます。

  • 選択済の列: 主キー定義に含まれている列のリスト。

主キー定義に列を追加するには、「使用可能な列」で列を選択して「追加」(>)アイコンをクリックします。主キー定義から列を削除するには、「選択した列」で列を選択して「削除」(<)アイコンをクリックします。使用可能リストと選択済リストの間ですべての列を移動するには、「すべて追加」(>>)アイコンまたは「すべて削除」(<<)アイコンを使用します。主キー定義内で列を上下に移動するには、「選択済の列」でその列を選択して矢印ボタンを使用します。

「一意キー」ペイン

表に1つ以上の一意制約を指定します。一意制約では、一意のデータ値が必要な列または列セットを指定します。各データ値はNULLではなく、列の他の値とは異なっている必要があります。

一意制約を追加するには、「追加」ボタンをクリックします。削除するには、その一意制約を選択して「削除」ボタンをクリックします。

  • 名前: 一意制約の名前。

  • 有効: このオプションを選択すると、一意制約が適用されます。

  • 依存: このオプションを選択すると、NOVALIDATEモードの制約が問合せリライト時に考慮されます。

  • 遅延可能: このオプションを選択すると、後続のトランザクションでSET CONSTRAINT(S)文を使用してトランザクションの終了まで制約チェックを遅延できます。

  • 初期即時: このオプションを選択すると、後続の各SQL文の終了時に制約がチェックされます。

  • 検証: このオプションを選択すると、既存のデータが制約に適合するかどうかがチェックされます。

  • 索引: 一意キーが参照する索引の名前。

  • 表領域: 索引に関連付けられた表領域の名前。

  • 使用可能な列: 一意制約定義に追加できる列のリスト。

  • 選択済の列: 一意制約定義に含まれている列のリスト。

一意制約定義に列を追加するには、「使用可能な列」で列を選択して「追加」(>)アイコンをクリックします。一意制約定義から列を削除するには、「選択した列」で列を選択して「削除」(<)アイコンをクリックします。使用可能リストと選択済リストの間ですべての列を移動するには、「すべて追加」(>>)アイコンまたは「すべて削除」(<<)アイコンを使用します。一意制約定義内で列を上下に移動するには、「選択済の列」でその列を選択して矢印ボタンを使用します。

「索引」ペイン

表に現在定義されている索引のリスト。索引を追加するには、「索引の追加」(+)アイコンをクリックします。削除するには、その索引を選択して「索引の削除」(-)アイコンをクリックします。

  • 名前: 索引の名前。

  • タイプ:: Oracle索引のタイプ。「一意でない」は、索引に同一の値を複数含められることを意味します。「一意」は、重複する値が許可されないことを意味します。「ビットマップ」では、キー値に関連付けられたROWIDがビットマップとして格納されます。

  • 表領域: 索引の表領域の名前。

  • : 列の式とは、列、定数、SQLファンクションおよびユーザー定義ファンクションから構築した式です。列の式を指定すると、ファンクションベースの索引を作成できます。

  • 使用可能な列および選択した列: 索引に対して選択した列。列を選択するには、「使用可能な列」ボックスの列をクリックしてから選択した列の追加アイコンをクリックして、「選択した列」ボックスに移動します。

「外部キー」ペイン

表に1つ以上の外部キーを指定します。外部キーでは、ローカル列を指定します。ローカル列の各データ値は、別の表の主キーまたは一意制約の値と一致する必要があります。

  • 名前: 外部キー定義の名前。

  • 有効: このオプションを選択すると、外部キーが適用されます。

  • 依存遅延可能初期即時検証: 「一意キー」ペインのこれらのフィールドの説明を参照してください。

  • 参照先の制約: スキーマ: この外部キーで参照する主キーまたは一意制約を持つ表が含まれているスキーマの名前。

  • 参照先の制約: 表: この外部キーで参照する主キーまたは一意制約を持つ表の名前。

  • 参照先の制約: 制約: この外部キーで参照する主キーまたは一意制約の名前。

  • 参照先の制約: 削除時: 参照先の表の行が削除され、その値を含む行がこの外部キーを含む表内に存在する場合に自動的に行われるアクション。「アクションなし」(ダイアグラムでは斜め線で表示)はこれらの行に対してアクションを実行しません。「カスケード」(「X」で表示)はこれらの行を削除します。「NULLを設定」(小さな円で表示)は、NULL値が設定可能な行のすべての列にNULLを設定します。

  • アソシエーション: ローカル列: 外部キー定義に含まれている、現在選択している(ローカル)表の列のリスト。外部キー定義の各参照先の列に、編集済の表の列の名前を選択します。

  • アソシエーション: 参照先の列: ローカル列ごとに、その値と一致する値が必要な他の(外部の)表の列が示されます。

「表制約」ペイン

表に1つ以上のチェック制約を指定します。チェック制約では、表への行の挿入時、または既存の行の変更時に満たす必要がある条件を指定します。

  • 名前: チェック制約定義の名前。

  • チェック条件: 行がチェック制約を満たすために行に対して満たす必要がある条件。有効なCHECK句を使用できます(CHECKキーワードは不要)。たとえば、RATINGという数値列の値が1から10の範囲内でなければならないことを示すには、rating >=1 and rating <= 10と指定します。

  • 有効: このオプションを選択すると、チェック制約が適用されます。

「コメント」ペイン

表についての説明コメントです(オプション)。

「記憶域」ペイン

表の記憶域オプションを指定できます。表または索引を作成/編集すると、デフォルトの記憶域オプションをオーバーライドできます。

  • 組織: 表の格納および編成が、(索引)付きで行われるのか、索引なし(ヒープ)で行われるのか、外部表(外部)として行われるのかを指定します。

  • 表領域: 表または索引の表領域の名前。

  • ロギング: ONは、表の作成および表に対する後続のINSERT操作がREDOログ・ファイルに記録されることを意味します。「オフ」の場合、これらの操作はREDOログ・ファイルに記録されません。

「外部表プロパティ」ペイン

外部表のオプションを指定します。外部表は読取り専用の表で、メタデータはデータベースに格納されますが、データはデータベースの外部に格納されています。

外部表

  • アクセス・ドライバ・タイプ: 外部表の型を指定します。

    • ORACLE_LOADER: テキスト・データ・ファイルからデータを抽出します。これは、外部表から内部表にデータをロードするデフォルトのアクセス・ドライバです。

    • ORACLE_DATAPUMP: バイナリ・ダンプ・ファイルからデータを抽出します。このアクセス・ドライバは、ロードとアンロードの両方を実行できます。

    • ORACLE_BIGDATA: Oracle Big Data Applianceからデータを抽出します。

    • ORACLE_HDFS: Hadoop分散ファイル・システム(HDFS)に格納されたデータを抽出します。

    • ORACLE_HIVE: Apache HIVEに格納されたデータを抽出します。

  • デフォルト・ディレクトリ: 明示的にディレクトリ・オブジェクトに名前を付けないすべての入出力ファイルに対して、使用するデフォルトのディレクトリを指定します。位置はディレクトリ・パスではなく、ディレクトリ・オブジェクトで指定されます。

  • アクセス・パラメータ: 外部表で使用する特定のアクセス・ドライバのパラメータに値を割り当てます。アクセス・パラメータはオプションです。

    • OPAQUE_FORMAT_SPEC: opaque_format_specは、ORACLE_LOADER、ORACLE_DATAPUMP、ORACLE_HDFSおよびORACLE_HIVEアクセス・ドライバのすべてのアクセス・パラメータを指定します。アクセス・パラメータの詳細は、『Oracle Databaseユーティリティ』を参照してください。opaque_format_specで指定するフィールド名は、表定義の列と一致している必要があります。それ以外の場合は、無視されます。

    • USING CLOB: 副問合せを介してパラメータおよびその値を導出できます。副問合せには、集合演算子またはORDER BY句を含めません。CLOBデータ型の1つの項目を含む単一行を戻します。

  • 制限の拒否: 外部データの問合せ中、Oracle Databaseエラーが戻され問合せが中断されるまでに許可する変換エラーの数。

  • プロジェクト列: アクセス・ドライバが、後続の問合せで外部表の行を検証する方法を指定します。

    • ALL: 選択した列に関係なくすべての列値が処理され、完全に有効な列エントリを持つ行のみが検証されます。データ型の変換エラーなど、列値でエラーが発生した場合は、その列が問合せの選択リストで参照されていなくても、行は拒否されます。

    • REFERENCED: 問合せの選択リストの列のみが処理されます。

    「ALL」設定では一貫性のある結果セットが得られます。「REFERENCED」設定では、後続の問合せで参照される列に応じて、戻される行の数が異なる場合がありますが、「ALL」設定より高速です。後続の問合せで外部表のすべての列が選択されている場合、2つの設定の動作は同じになります。

  • 場所: 外部表のデータ・ファイルを指定します。「追加」(+)アイコンを使用して、各場所の仕様を追加します。

    • ORACLE_LOADERおよびORACLE_DATAPUMPの場合、ファイルの名前はdirectory:fileという形式になります。directoryの部分はオプションです。この部分を指定しないと、デフォルトのディレクトリがファイルのディレクトリとして使用されます。ORACLE_LOADERアクセス・ドライバを使用している場合は、ファイル名にワイルドカードを使用できます。アスタリスク(*)は複数文字を表し、疑問符(?)は1文字を表します。

    • ORACLE_HDFSの場合、LOCATION句は、ディレクトリまたはファイルのUniform Resource Identifier (URI)のリストです。URIに関連付けられたディレクトリ・オブジェクトはありません。

    • ORACLE_HIVEの場合、LOCATIONは使用されません。かわりに、Hadoop HCatalog表を読み取ってデータ・ソースの場所(ファイルや別のデータベース)に関する情報を取得します。

不透明なフォーマット仕様

ORACLE_LOADER、ORACLE_DATAPUMP、ORACLE_HDFSおよびORACLE_HIVEアクセス・ドライバのすべてのアクセス・パラメータを指定します。

次に例を示します。

RECORDS DELIMITED BY NEWLINE CHARACTERSET US7ASCII
    TERRITORY AMERICAN
    BADFILE log_file_dir:'ext_1v3.bad'
    LOGFILE log_file_dir:'ext_1v3.log'
    FIELDS TERMINATED BY "|" OPTIONALLY ENCLOSED BY '^' LDRTRIM
    ( PROD_ID,
      CUST_ID ,
      TIME_ID DATE(10) "YYYY-MM-DD",
      CHANNEL_ID ,
      PROMO_ID ,
      QUANTITY_SOLD ,
      AMOUNT_SOLD ,
      UNIT_COST ,
      UNIT_PRICE
    )

完全な文は次のとおりです。

CREATE TABLE SH.SALES_TRANSACTIONS_EXT
    (
      PROD_ID NUMBER ,
      CUST_ID NUMBER , 
      TIME_ID DATE ,
      CHANNEL_ID NUMBER ,
      PROMO_ID NUMBER ,
      QUANTITY_SOLD NUMBER , 
     AMOUNT_SOLD NUMBER (10,2) , 
     UNIT_COST NUMBER (10,2) , 
     UNIT_PRICE NUMBER (10,2)
     )
     ORGANIZATION EXTERNAL
     (
     TYPE ORACLE_LOADER
     DEFAULT DIRECTORY DATA_FILE_DIR
     ACCESS PARAMETERS
     (
     RECORDS DELIMITED BY NEWLINE CHARACTERSET US7ASCII
    TERRITORY AMERICAN
    BADFILE log_file_dir:'ext_1v3.bad'
    LOGFILE log_file_dir:'ext_1v3.log'
    FIELDS TERMINATED BY "|" OPTIONALLY ENCLOSED BY '^' LDRTRIM
    ( PROD_ID ,
      CUST_ID ,
      TIME_ID DATE(10) "YYYY-MM-DD",
      CHANNEL_ID ,
      PROMO_ID ,
      QUANTITY_SOLD ,
      AMOUNT_SOLD ,
      UNIT_COST ,
      UNIT_PRICE
    )
    )
     LOCATION ( "DATA_FILE_DIR":'sale1v3.dat')
     )
     REJECT LIMIT 100
 ;

CLOB副問合せ

問合せを入力するか、コピーして貼り付けます。

注意:

外部表のフィールドの詳細は、『Databaseユーティリティ』および『SQL言語リファレンス』を参照してください。

マテリアライズド・ビュー

問合せ: ビュー定義の問合せ部分のSQLコードが含まれます。問合せを入力するか、コピーして貼り付けます。

一般

  • 事前作成表: 「はい」の場合、既存の表が事前に初期化されたマテリアライズド・ビューとして登録されます。このオプションは、データ・ウェアハウス環境での大規模なマテリアライズド・ビューの登録に特に役立ちます。表は、作成されるマテリアライズド・ビューと同じ名前を持ち、同じスキーマ内に存在する必要があります。また、副問合せのマテリアライズ化を反映している必要があります。

  • 精度の低下: 「はい」を指定すると、表またはマテリアライズド・ビューの列の精度が副問合せで戻される精度と正確に一致しない場合に精度の低下が許可されます。「いいえ」の場合、表またはマテリアライズド・ビューの列の精度は、副問合せによって戻される精度と正確に一致する必要があります。そうしないと、作成操作が失敗します。

  • 更新対象: 副問合せ、主キー、オブジェクトまたはROWIDマテリアライズド・ビューを更新できるようにするには、「はい」を選択します。アドバンスト・レプリケーションと組み合せて使用した場合、更新はマスターにも影響します。

  • リアルタイムMV: 「はい」を選択すると、リアルタイムのマテリアライズド・ビューまたは通常のビューが作成されます。リアルタイムのマテリアライズド・ビューでは、データ変更によりマテリアライズド・ビューがその実表と同期していない場合も、ユーザーの問合せに対して最新のデータを提供します。マテリアライズド・ビューを変更するかわりに、オプティマイザはマテリアライズド・ビューの既存の行とログ・ファイル(マテリアライズド・ビュー・ログまたはダイレクト・ローダー・ログ)に記録された変更を結合する問合せを記述します。これは、問合せ時計算と呼ばれます。

  • 問合せリライト:: 「有効化」を選択した場合、マテリアライズド・ビューを問合せリライトに使用できます。クエリー・リライトは、マスター表に関して記述されたユーザー要求を、1つ以上のマテリアライズド・ビューを含む意味的に同等の要求に変換します。

  • ビルド: マテリアライズド・ビューへの移入のタイミングを指定します。「即時」を選択すると、すぐにマテリアライズド・ビューに移入されます。「遅延」を選択すると、次回のリフレッシュ操作でマテリアライズド・ビューに移入されます。「遅延」を指定した場合、最初の(遅延)リフレッシュは常に完全リフレッシュである必要があります。リフレッシュが行われるまで、マテリアライズド・ビューの値は古く使用不可の状態であるため、クエリー・リライトには使用できません。

  • 索引の使用: 「はい」の場合、デフォルト索引が作成されて使用され、マテリアライズド・ビューの増分(高速)リフレッシュの速度が向上します。いいえの場合、このデフォルト索引は作成されません。(たとえば、今は索引を作成せず、後でこのような索引を明示的に作成することもできます。)

  • 索引表領域: マテリアライズド・ビューを作成する表領域を指定します。表領域を選択しない場合、マテリアライズド・ビューは、そのビューが含まれているスキーマのデフォルトの表領域に作成されます。

  • キャッシュ: 「はい」の場合、全表スキャンの実行時、この表に取得されたブロックは、バッファ・キャッシュで最低使用頻度(LRU)リストの最高使用頻度側に配置されます。この設定は小さい参照表に役立ちます。「いいえ」の場合、ブロックは、LRUリストの最低使用頻度側に配置されます。

リフレッシュ句

  • リフレッシュ: リフレッシュ操作を有効にするには、「はい」を選択します。

  • リフレッシュ・タイプ: 実行するリフレッシュ操作の方法。次のいずれかになります。

    • 完全リフレッシュ: 高速リフレッシュが可能な場合でも、マテリアライズド・ビューの定義問合せを実行します。

    • 高速リフレッシュ: マスター表に対して行われた変更に応じてリフレッシュを実行する、増分リフレッシュ方法を使用します。従来型DML変更の場合、変更はマスター表に関連付けられたマテリアライズド・ビュー・ログに格納されます。ダイレクト・パス・インサート操作の場合、変更はダイレクト・ローダー・ログに格納されます。

    • 強制リフレッシュ: 可能な場合は高速リフレッシュを実行し、そうでない場合は完全リフレッシュを実行します。

  • アクション: 実行するリフレッシュ操作のタイプ。次のいずれかになります。

    • 要求時: いずれかのDBMS_MVIEWリフレッシュ・プロシージャのコール時にリフレッシュを実行します。

    • コミット時: マテリアライズド・ビューのマスター表で行われたトランザクションがデータベースでコミットされるたびに、高速リフレッシュを実行します。データベースはコミット・プロセスの一部としてリフレッシュ操作を実行するため、コミットの完了にかかる時間が長くなる可能性があります。

    • 指定: 「開始」および「次」フィールドに指定した内容に従って、リフレッシュ操作を実行します。

  • 開始日: 最初の自動リフレッシュ操作の開始日時。将来の日時である必要があります。

  • 次回日付: 次回の自動リフレッシュ操作の時間。「開始」および「次」に指定した時間の間隔が、それ以降の自動リフレッシュ操作の間隔になります。値を指定しない場合、リフレッシュ操作は「開始」に指定した時間に1回のみ行われます。

  • 次で: マテリアライズド・ビューのタイプを決定するリフレッシュ・タイプ。次のいずれかになります。

    • 主キー: 主キー・マテリアライズド・ビューを作成します。この場合、マテリアライズド・ビューでの高速リフレッシュの実行性に影響することなく、マテリアライズド・ビューのマスター表を再編成できます。

    • 行ID: ROWIDマテリアライズド・ビューを作成します。このタイプのビューは、マスター表のすべての主キー列がマテリアライズド・ビューに含まれていない場合に役立ちます。

  • デフォルトの記憶域: 「はい」の場合、DEFAULTでは使用するロールバック・セグメントがOracle Databaseで自動的に選択されることを指定します。DEFAULTを指定する場合、rollback_segmentは指定できません。DEFAULTは、マテリアライズド・ビューを(作成ではなく)変更する場合に有効です。

  • 記憶域のタイプ: MASTERを使用すると、個々のマテリアライズド・ビュー用のリモート・マスター・サイトで使用されるリモート・ロールバック・セグメントを指定します。LOCALを使用すると、マテリアライズド・ビューが含まれているローカル・リフレッシュ・グループで使用されるリモート・ロールバック・セグメントを指定できます。これはデフォルトです。

  • ロールバック・セグメント: ロールバック・セグメントの名前を入力します。

  • 制約の使用: このオプションを選択すると、リフレッシュ操作中により多くのリライト・オプションを使用できるため、リフレッシュをより効率的に実行できるようになります。このオプションの動作は、「強制」と「信頼」のどちらを選択するかによって異なります。

    • 強制: リフレッシュ操作中、必須の制約のみを使用します。

    • 信頼: データベース管理者は信頼できると宣言しているが、データベースでは検証されていないディメンションおよび制約の情報を使用できるようになります。ディメンションおよび制約の情報が有効であると、パフォーマンスが向上する場合があります。ただし、この情報が無効であると、正常な状態が戻されても、リフレッシュ・プロシージャによってマテリアライズド・ビューが破損する場合があります。

「DDL」ペイン

SQL Developer Webでオブジェクトの作成または編集に使用するSQL文を確認および保存できます。変更が必要な場合は該当するペインに戻って変更します。

新しい表の場合、「CREATE」をクリックして生成されたDDL文を表示します。表のプロパティを編集する場合、「UPDATE」をクリックして、生成されたALTER文を表示します。新しい表の場合、「UPDATE」タブは使用できません。

終了したら、「適用」をクリックします。

「出力」ペイン

DDLコマンドの結果を表示します。エラーがある場合は、適切なペインに移動してエラーを修正し、コマンドを再度実行してください。テキスト・ファイルに保存したり、出力をクリアできます。

1.5.2.3 索引の作成または編集

索引を作成または編集する場合、「索引のプロパティ」ダイアログ・ボックスを表示します。次の3つの方法で作成および編集できます。

  • ワークシートの「ナビゲータ」タブで表を右クリックし、「索引の追加」を選択します。編集するには、「ナビゲータ」タブで索引を右クリックし、「編集」を選択します。

  • Data Modelerの「ナビゲータ」タブで表オブジェクトを右クリックし、「索引の追加」を選択します。

  • 「表のプロパティ」ダイアログで索引を作成および編集します(「表の作成または編集」を参照)。

「定義」ペイン

  • スキーマ: 索引に関連付けられた表を所有するデータベース・スキーマ。

  • : 索引に関連付けられた表の名前。

  • スキーマ: 索引を作成するデータベース。

  • 表領域: 索引の表領域。

  • 名前: 索引の名前。

  • タイプ:: Oracle索引のタイプ。「一意でない」は、索引に同一の値を複数含められることを意味します。「一意」は、重複する値が許可されないことを意味します。「ビットマップ」では、キー値に関連付けられたROWIDがビットマップとして格納されます。

  • : 列の名前または列の式。列の式とは、列、定数、SQLファンクションおよびユーザー定義ファンクションから構築した式です。列の式を指定すると、ファンクションベースの索引を作成できます。

  • 使用可能な列: 表で使用可能な列。

  • 選択した列: 索引に選択された列。選択した列の追加アイコンをクリックして、「使用可能な列」リストから列を移動します。

  • 順序: 「ASC」では昇順索引(索引値を昇順でソート)、「DESC」では降順索引(索引値を降順でソート)になります。

「DDL」ペイン

SQL Developer Webで索引の作成または編集に使用するSQL文を確認および保存できます。変更が必要な場合は「定義」ペインに戻って変更します。新しい索引の場合、「CREATE」をクリックして生成されたDDL文を表示します。索引のプロパティを編集する場合、「UPDATE」をクリックして、生成されたALTER文を表示します。新しい索引の場合、「UPDATE」タブは使用できません。終了したら、「適用」をクリックします。

「出力」ペイン

DDLコマンドの結果を表示します。エラーがある場合は、「定義」ペインに移動してエラーを修正し、コマンドを再度実行してください。テキスト・ファイルに保存したり、出力をクリアできます。

1.5.2.4 順序の作成または編集

この「順序のプロパティ」ダイアログ・ボックスは、ワークシートの「ナビゲータ」タブで順序オブジェクトを右クリックし、「順序の追加」または「順序編集」を選択すると表示されます。これらのオプションは、Data Modelerの「ナビゲータ」タブで表オブジェクトを右クリックしたときにも使用できます。

順序とは、複数のユーザーが一意の整数を生成できるオブジェクトです。順序を使用すると、主キー値を自動的に生成できます。

「プロパティ」ペイン

  • スキーマ: 順序を作成するデータベース・スキーマ。

  • 名前: 順序の名前。

  • 開始: 順序の開始値。

  • 増分: 順序内の連続する番号間の間隔。

  • 最小値: 順序の下限値。デフォルトは、昇順では1、降順では-(10^26)です。

  • 最大値: 順序の上限値。デフォルトは、昇順では10^27、降順では-1です。

  • 「キャッシュ」および「キャッシュ・サイズ」: 「キャッシュ」を選択すると、順序値がキャッシュに事前に割り当てられ、アプリケーションのパフォーマンスが向上します。「キャッシュ・サイズ」には、キャッシュに事前割当てする順序値の数を指定します。「キャッシュなし」では、順序値がキャッシュに事前割当てされません。

  • サイクル: 順序が昇順では最大値、降順では最小値に達した時点で最初に戻り、番号が再利用されるようにするかどうかを指定します。値の循環を有効にしない場合、順序が最大値または最小値に達した時点で、それ以上の値は生成できません。

  • 順序: 要求された順序で順序番号を生成するかどうかを指定します。順序なしを指定する場合、順序番号が要求順になるかどうかは保証されません。

「DDL」ペイン

SQL Developer Webで順序の作成または編集に使用するSQL文を確認および保存できます。変更が必要な場合は「プロパティ」ペインに戻って変更します。新しい順序の場合、「CREATE」をクリックして生成されたDDL文を表示します。順序を編集する場合、「UPDATE」をクリックして、生成されたALTER文を表示します。新しい順序の場合、「UPDATE」タブは使用できません。終了したら、「適用」をクリックします。

「出力」ペイン

DDLコマンドの結果を表示します。エラーがある場合は、「プロパティ」ペインに移動してエラーを修正し、コマンドを再度実行してください。テキスト・ファイルに保存するか、出力をクリアします。

1.5.2.5 ビューの作成または編集

ビューを作成または編集する場合、「ビューのプロパティ」ダイアログ・ボックスを表示します。ビューを作成または編集するには、ワークシートの「ナビゲータ」タブでビューを右クリックし、「新規」または「編集」を選択します。

スキーマ: ビューを作成するデータベース・スキーマ。

名前: ビューの名前。

ダイアログ内の各ペインについては、次の各項で説明します。

「SQL問合せ」ペイン

必要な情報の取得に必要な構文とともにSELECTおよびFROMキーワードを使用し、ビューのSQL問合せを入力またはコピーして貼り付けます。問合せの後にセミコロンは必要ありません。

「列」ペイン

このペインの列に自動的に移入するには、列のリフレッシュ・アイコンをクリックします。必要な行を選択し、「ヘッダー別名」および「コメント」フィールドで変更を加えることで、列を編集できます。

「記憶域」ペイン

強制的に作成: 「はい」を選択すると、ビューの実表または参照するオブジェクト型が存在しているか、またはそのビューを含むスキーマの所有者が、それらの表やオブジェクト型に対する権限を持っているかにかかわらず、ビューを作成できます。SELECT、INSERT、UPDATEまたはDELETE文をビューに対して発行する場合、これらの条件を満たしている必要があります。ビュー定義が制約を含む場合、実表または参照するオブジェクト型が存在しないと、CREATE VIEW ... FORCEは正常に実行されません。また、ビュー定義で存在しない制約が指定される場合も、CREATE VIEW ... FORCEは正常に実行されません。

問合せ制限: 「読取り専用」では、ビューで基礎となる表のデータの追加、削除または変更を行うことはできません。「チェック・オプション」では、このビューに含まれていない行を生成する基礎となる表への変更を禁止します。

必要に応じて、「主キー」、「一意キー」、「外部キー」および「コメント」ペインを使用して、プロパティを追加または編集します。

DDL

指定した入力に基づいて、DDL文が生成されます。SQL文を確認して保存できます。変更が必要な場合は該当するペインに戻って変更します。新しいビューの場合、「CREATE」をクリックして生成されたDDL文を表示します。ビューを編集する場合、「UPDATE」をクリックして、生成されたALTER文を表示します。新しいビューの場合、「UPDATE」タブは使用できません。終了したら、「適用」をクリックします。

出力

DDLコマンドの結果を表示します。エラーがある場合は、それぞれのペインに移動してエラーを修正し、コマンドを再度実行してください。テキスト・ファイルに保存したり、出力をクリアできます。

1.5.3 ワークシート出力の表示

「ワークシート」画面の右下ペインには、次のペインを表示するタブがあります。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

contmenu_rowheader.pngの説明が続きます
図contmenu_rowheader.pngの説明

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

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

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

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

    注意:

    ポップアップ・ブロッカが有効な場合、ファイルはダウンロードできません。
    contmenu_table.pngの説明が続きます
    図contmenu_table.pngの説明