このセクションでは、SQLスクリプトを使用してスクリプト・ファイルを作成、編集、表示、実行および削除する方法について説明します。
SQLスクリプトは、「SQLスクリプト」にファイルとして保存された一連のSQLコマンドです。SQLスクリプトには、1つ以上のSQL文またはPL/SQLブロックが含まれています。「SQLスクリプト」を使用して、データベース・オブジェクトを作成、編集、表示、実行および削除できます。
「SQLスクリプト」を使用する場合は、次の点に注意してください。
実行時には、SQLスクリプト内のSQL*Plusコマンドは無視されます。
「SQLコマンド」と「SQLスクリプト」の間の対話はありません。
SQLスクリプト・エディタからSQLコマンドをカット・アンド・ペーストして、「SQLコマンド」で実行できます。
「SQLスクリプト」ではバインド変数はサポートされていません。
「SQLスクリプト」にアクセスするには、次のステップを実行します。
ワークスペースのホームページで「SQLワークショップ」、「SQLスクリプト」の順にクリックします。
SQLスクリプト・ページが表示されます。
注意: インスタンス管理者がこのApplication Expressインスタンスに対してRESTfulサービスを無効にしている場合、このインスタンスでRESTfulサービスが使用できないため、RESTfulサービス・アイコンが表示されません。『Oracle Application Express管理ガイド』のSQLワークショップの構成に関する説明を参照してください。 |
SQLスクリプト・ページには、現行ユーザーが作成したすべてのSQLスクリプトの対話モード・レポートが表示されます。ワークスペース管理者の場合、このページに、ワークスペース・ユーザーが作成したすべてのSQLスクリプトが表示されます。関心のある列の選択、フィルタの適用、ハイライト、ソートを実行すると、レポート・データのレイアウトを変更できます。また、ブレーク、集計、各種チャート、グループ化を定義し、ユーザー独自の計算を追加することもできます。
検索バーは各対話モード・レポートの上部に表示され、次の機能があります。
検索列の選択 - このアイコンは、虫めがねに似ています。このアイコンをクリックして、検索を特定の列に絞り込みます。すべての列を検索するには、「すべての列」を選択します。
アイコンの表示:各スクリプトが、スクリプト名で識別されるアイコンとして表示します。
レポートの表示:各スクリプトが、レポートに1行として表示されます。各行には、削除対象としてのスクリプトの選択を有効にするためのチェック・ボックス、スクリプトをスクリプト・エディタにロードできるようにするための「編集」アイコン、スクリプト名、スクリプトの所有者、スクリプトの最終更新日時と最終更新者名、バイト単位で示されたサイズ、実行結果にリンクされているスクリプトの実行回数、およびスクリプトを実行できるようにするためのアイコンが含まれています。
「レポート」ビューには、さらに次のようなコントロールもあります。
チェックした項目の削除:「レポート」ビューで、削除するスクリプトに関連付けられたチェック・ボックスを選択し、「チェックした項目の削除」をクリックします。「SQLスクリプトの削除」を参照してください。
ソート:「レポート」ビューで、列ヘッダーをクリックして、リストされたスクリプトをその列ごとにソートします。
アップロード:「アップロード」をクリックして、スクリプトをローカル・ファイルシステムから「SQLスクリプト」にアップロードします。「SQLスクリプトのアップロード」を参照してください。
作成:「作成」をクリックして、スクリプト・エディタでスクリプトを作成します。「SQLスクリプトの作成」を参照してください。
「タスク」リストがSQLスクリプト・ページの右側に表示されます。
「タスク」リストには次のリンクが含まれます。
結果の管理: 結果を表示したり、検索して表示することができます。「SQLスクリプト結果の表示」を参照してください。
割当て制限の表示: スクリプトの割当て制限ページを表示します。スクリプトの割当て制限ページには、単一の結果の最大サイズ、すべての結果の最大サイズ、使用済の割当て制限および未使用の割当て制限が表示されます。また、SQLスクリプトの最大サイズも表示されます。
エクスポート: 別のワークスペース内の「SQLスクリプト」にインポートするために、複数のスクリプトを現行のSQLスクリプト・リポジトリからエクスポートできます。エクスポート対象として選択したスクリプトは、ローカル・ファイルシステムに書き込まれた単一のエクスポート・スクリプト内でエンコードされます。エクスポート・スクリプトは、デフォルトではworkspace_name_script.sqlという名前が付けられます。「SQLスクリプトのエクスポートおよびインポート」を参照してください。
インポート: このワークスペースまたは別のワークスペースでエクスポートされたスクリプトをインポートできます。「インポート」では、「エクスポート」を使用して作成したエクスポート・スクリプト内でエンコードされたスクリプトのみをインポートします。インポートするエクスポート・スクリプトは、ローカル・ファイルシステム上でアクセス可能である必要があります。「SQLスクリプトのエクスポートおよびインポート」を参照してください。
スクリプト・リポジトリでスクリプトを作成するには、次の方法があります。
スクリプト・エディタでSQLスクリプトを作成するには、次のステップを実行します。
ワークスペースのホームページで「SQLワークショップ」、「SQLスクリプト」の順にクリックします。
SQLスクリプト・ページが表示されます。
「作成」ボタンをクリックします。
スクリプト・エディタが表示されます。
「スクリプト名」に、スクリプトの名前を入力します。スクリプト名の拡張子はオプションです。
スクリプトに含めるSQL文およびPL/SQLブロックを入力します。
SQL*Plusコマンドは実行時に無視されることに注意してください。
「作成」をクリックします。
新しく保存されたスクリプトがリストされたSQLスクリプト・ページが表示されます。
ローカル・ファイルシステムからスクリプトをアップロードするには、次のステップを実行します。
ワークスペースのホームページで「SQLワークショップ」、「SQLスクリプト」の順にクリックします。
SQLスクリプト・ページが表示されます。
「アップロード」ボタンをクリックします。
「スクリプトをアップロード」ダイアログ・ボックスが表示されます。
「スクリプトをアップロード」で、次のステップを実行します。
ファイル: アップロードするスクリプトを参照して指定します。
スクリプト名: オプションで「スクリプト名」フィールドに新しい名前を入力します。この名前が「スクリプト・リポジトリ」に表示されます。
ファイルの文字セット: スクリプトのエンコードに使用されるキャラクタ・セットを選択します。
「アップロード」をクリックします。
新しくアップロードされたスクリプトがリストされたSQLスクリプト・ページが表示されます。
ヒント: スクリプトはランタイムに解析されます。解析されると、無視されたSQL*Plusコマンドなどの文がリストされます。無効なSQLは、結果でのみ識別されます。同じ名前のスクリプトが存在する場合は、スクリプトの名前を変更するように求められます。 |
スクリプト・リポジトリ内で新規スクリプトへのコンテンツの追加、既存のスクリプトの編集、スクリプトの実行および削除を行うには、スクリプト・エディタを使用します。
SQLスクリプトを編集するには、次のステップを実行します。
ワークスペースのホームページで「SQLワークショップ」、「SQLスクリプト」の順にクリックします。
SQLスクリプト・ページが表示されます。
次のようにしてスクリプトをエディタにロードできます。
「アイコン」ビューでスクリプトのアイコンをクリックします。
「レポート」ビューで「編集」アイコンをクリックします。
スクリプト・エディタが表示されます。
スクリプトを編集します。
新規の行は、前の行の先頭の列に合せて自動的にインデントされます。スクリプト・エディタのその他の機能には次のものがあります。
元に戻す:直前の編集を元に戻します。
やり直し:直前に元に戻した編集を再度適用します。
検索: 基本検索を実行するには、(虫めがねに似た)「検索」アイコンをクリックします。
置換: 既存のコードを置換するには、(双方向矢印に似た)「置換」アイコンをクリックします。
カット、コピーおよびペースト:スクリプト・エディタのコンテンツの切取り、コピーおよび貼付けを行うには、標準の編集コントロールを使用します。
「変更の適用」をクリックして、スクリプトを保存します。
SQLスクリプト・ページが表示されます。
編集中に、スクリプトを実行することによってテストし、エラーを明らかにすることができます。
表4-1に、スクリプト・エディタで使用できるボタンおよびコントロールを示します。
表4-1 スクリプト・エディタのボタンおよびコントロール
ボタン | 説明 |
---|---|
取消 |
編集セッションを取り消して、前回の保存以降に行われた変更内容を保存せずにスクリプト・エディタを終了します。 |
ダウンロード |
現在のスクリプトのコピーをローカル・ファイルシステムに保存します。ローカル・ファイルシステム上のスクリプトの名前とディレクトリ・パスを入力します。 |
削除 |
スクリプト・リポジトリから現在のスクリプトを削除します。 参照: 「SQLスクリプトの削除」 |
保存 |
現在のスクリプトを保存します。スクリプト名を編集すると、「保存」は無効になります。かわりに、「変更の適用」を使用します。 |
変更の適用 |
スクリプトを保存してSQLスクリプト・レポートに戻ります。 |
実行 |
スクリプトを送信して実行します。 参照: 「SQLスクリプトの実行」 |
元に戻す([Ctrl]+[Z]) |
スクリプト・エディタで最後に実行した行編集を削除または元に戻します。 |
やり直し([Ctrl]+[Y]) |
スクリプト・エディタで最後に実行した行編集を繰り返します。 |
検索([Ctrl]+[F]) |
基本検索を実行するには、(虫めがねに似た)「検索」アイコンをクリックします。 |
置換([Ctrl]+[Shift]+[F]) |
既存のコードを置換するには、(双方向矢印に似た)「置換」アイコンをクリックします。 |
SQLスクリプト・ページで選択したスクリプトを削除するか、スクリプト・エディタで現在のスクリプトを削除すると、スクリプト・リポジトリからスクリプトを削除できます。
SQLスクリプト・ページからスクリプトを削除するには、次のステップを実行します。
ワークスペースのホームページで「SQLワークショップ」、「SQLスクリプト」の順にクリックします。
SQLスクリプト・ページが表示されます。
「レポートの表示」アイコンをクリックします。
「レポート」ビューが表示されます。
削除するスクリプトを選択します。
個別にスクリプトを選択するには、スクリプト名の左にあるチェック・ボックスをクリックします。現在のページに表示されているスクリプトをすべて選択するには、列ヘッダーのチェック・ボックスをクリックします。
「チェックした項目の削除」をクリックして、選択したスクリプトをスクリプト・リポジトリから完全に削除します。
削除操作の確認を要求されたら、「OK」をクリックします。
スクリプト・リポジトリ内のスクリプトは、新しい名前を付けて保存することによってコピーできます。
スクリプトをコピーするには、次のステップを実行します。
ワークスペースのホームページで「SQLワークショップ」、「SQLスクリプト」の順にクリックします。
SQLスクリプト・ページが表示されます。
スクリプト・エディタでスクリプトを開きます。
「スクリプト名」に、新しいスクリプト名を入力します。
「変更の適用」をクリックします。
新しいスクリプトがリストされたSQLスクリプト・ページが表示されます。
スクリプト・リポジトリに格納されているスクリプトを実行できます。実行するスクリプトは、スクリプト・エディタから、またはSQLスクリプト・ページから送信できます。
スクリプトを実行するために送信すると、スクリプトの実行ページが表示されます。このページには、スクリプト名、スクリプトの作成日時と作成者、最新更新日時と更新者、含まれる文の数、およびスクリプトのサイズ(バイト単位)が表示されます。また、実行時に無視されるSQL*Plusコマンドなどの不明な文もリストされます。
スクリプトに実行可能な文が含まれない場合は、「コントロールの実行」が表示されません。
スクリプト・エディタでスクリプトを実行するには、次のステップを実行します。
実行するスクリプトをスクリプト・エディタで開きます。「スクリプト・エディタの使用」を参照してください。
スクリプト・エディタで「実行」をクリックします。
スクリプトの実行ページが表示されます。このページには、スクリプトについての情報が表示され、エラー防止実行内の文、またはスクリプトの実行時に無視されるSQL*Plusコマンドなどの文がリストされます。
スクリプトの実行ページで使用可能なオプションは、次のとおりです。
取消: スクリプトを実行せずに、SQLスクリプト・ページに戻ります。
即時実行: スクリプトを実行するために送信します。
バックグラウンドで実行: スクリプトを実行するために送信するのではなく、DBMS_JOBを使用してスクリプトを実行します。このオプションは、長く時間のかかるスクリプトで便利です。
「即時実行」をクリックして、スクリプトを実行するために送信します。
スクリプト結果の管理ページが表示され、スクリプトの結果がリストされます。
スクリプト結果を表示するには、「結果の表示」をクリックします。
SQLスクリプト・ページからスクリプトを実行するには、次のステップを実行します。
ワークスペースのホームページで「SQLワークショップ」、「SQLスクリプト」の順にクリックします。
SQLスクリプト・ページが表示されます。
「レポートの表示」アイコンをクリックします。
「レポート」ビューが表示されます。
右端の列で、実行するスクリプトの「実行」アイコンをクリックします。
ヒント: スクリプトに実行可能な文が含まれない場合、エラー・アイコンが表示されます。 |
スクリプトの実行ページが表示されます。このページには、スクリプトについての情報が表示され、エラー防止実行内の文、またはスクリプトの実行時に無視されるSQL*Plusコマンドなどの文がリストされます。
スクリプトの実行ページで使用可能なオプションは、次のとおりです。
取消: スクリプトを実行せずに、SQLスクリプト・ページに戻ります。
即時実行: スクリプトを実行するために送信します。
バックグラウンドで実行: スクリプトを実行するために送信するのではなく、DBMS_JOBを使用してスクリプトを実行します。このオプションは、長く時間のかかるスクリプトで便利です。
「即時実行」をクリックして、スクリプトを実行するために送信します。
スクリプト結果の管理ページが表示され、使用可能なスクリプトの結果がリストされます。
右端の列にある「結果の表示」アイコンをクリックします。
スクリプトの結果を表示および削除するには、スクリプト結果の管理ページを使用します。
スクリプト結果を表示するには、次のステップを実行します。
ワークスペースのホームページで「SQLワークショップ」、「SQLスクリプト」の順にクリックします。
SQLスクリプト・ページが表示されます。
「タスク」リストで「結果の管理」をクリックします。
利用可能なスクリプトの結果がリストされたスクリプト結果の管理ページが表示されます。
右端の列にある「結果の表示」アイコンをクリックします。
結果ページが表示されます。
結果ページには、スクリプト名およびステータス(「完了」、「取消済」、「実行中」または「送信」)が表示され、実行された文がリストされます。
結果ページで、表示オプションを選択して「実行」をクリックします。
詳細: レポートに結果を表示します。
サマリー: サマリー・ページが表示されます。「行」リストから、表示する行の数を選択します。列ヘッダーを選択すると、その列を基準にしてリスト値がソートされます。
「スクリプトの編集」をクリックして、スクリプト・エディタにスクリプトをロードします。
エクスポートおよびインポート・タスクを使用して、スクリプトを現行のスクリプト・リポジトリから別のワークスペース内のスクリプト・リポジトリに送信できます。エクスポートされたスクリプトは、ローカル・ファイルシステムの単一のファイル内でエンコードされます。エクスポート後に、もう一方のワークスペースにログインしてそのファイルをインポートします。インポート時には、そのファイルが実行されて現行のスクリプト・リポジトリでスクリプトが再作成されます。
デフォルトでは、SQLスクリプトのエクスポート・ページには現行のユーザーによって作成されたスクリプト・リポジトリ内のすべてのスクリプトが表示されます。SQLスクリプトのエクスポート・ページには、「スクリプト」および「エクスポートするスクリプト」の2つのペインがあります。エクスポートするスクリプトを選択するには、「スクリプト」ペインを使用します。次に、エクスポートするスクリプトを確定し、エクスポート・スクリプト名を選択し、エクスポート・スクリプト内の選択したスクリプトをローカル・ファイルシステム上に保存するには、「エクスポートするスクリプト」ペインを使用します。インポートするスクリプトを含むエクスポート・スクリプトを選択するには、「スクリプトのインポート」ペインを使用します。
スクリプトをエクスポート・スクリプトにコピーするには、次のステップを実行します。
ワークスペースのホームページで「SQLワークショップ」、「SQLスクリプト」の順にクリックします。
SQLスクリプト・ページが表示されます。
「タスク」リストで、「エクスポート」をクリックします。
SQLスクリプトのエクスポート・ページが表示されます。
エクスポートするスクリプトを選択します。表示されているすべてのスクリプトを選択するには、列ヘッダーのチェック・ボックスを選択します。
「エクスポートに追加」をクリックします。
選択したスクリプトが、「エクスポートするスクリプト」ペインのスクリプト・リストに追加されます。
「ファイル名」フィールドにエクスポート・スクリプトの名前を入力します。
デフォルトのスクリプト名はworkspace_name
_script.sql
です。
「すべてのエクスポート」をクリックして、スクリプトをエクスポート・スクリプトにエクスポートします。
エクスポート・スクリプトを保存するディレクトリを入力するよう求められます。
スクリプトをインポートするには、次のステップを実行します。
ワークスペースのホームページで「SQLワークショップ」、「SQLスクリプト」の順にクリックします。
SQLスクリプト・ページが表示されます。
「タスク」リストで「インポート」をクリックします。
「スクリプトのインポート」ペインが表示されます。
スクリプト・リポジトリにインポートするスクリプトを参照してエクスポートします。
「次へ」をクリックして、エクスポート・スクリプト内のスクリプトをリストします。
スクリプトのインポート・ページが表示されます。「アクション」列に、インポートされるファイルが新しいファイルなのか、同名の既存スクリプトを置換するかが示されます。
「スクリプトのインポート」をクリックして、リストされたスクリプトを現行のスクリプト・リポジトリにインポートします。
インポートされたスクリプトがリストされたSQLスクリプト・ページが表示されます。
現在のワークスペース内のスクリプトの制限をスクリプトの割当て制限ページで確認できます。
スクリプトの割当て制限ページを表示するには、次のステップを実行します。
ワークスペースのホームページで「SQLワークショップ」、「SQLスクリプト」の順にクリックします。
SQLスクリプト・ページが表示されます。
「タスク」リストで「割当て制限の表示」をクリックします。
スクリプトの割当て制限ページが表示され、次の制限が示されます。
結果の割当て制限(バイト):
スクリプト結果の最大サイズ:単一のスクリプト結果の最大サイズ(バイト)。このサイズは、Oracle Application Expressインスタンス管理者によって設定され、ワークスペースから変更することはできません。
すべてのスクリプト結果の割当て制限:このワークスペース内のすべての結果の最大サイズ(バイト)。このサイズは、Oracle Application Expressインスタンス管理者によって設定され、ワークスペースから変更することはできません。
使用済: このワークスペース内で現在使用されているバイト数。
空き: このワークスペース内で現在未使用のバイト数。
割当て制限: 現在使用されている割当て制限の割合を示す使用状況バー。
スクリプトの割当て制限(バイト):
スクリプトの最大サイズ: 単一のスクリプトの最大サイズ(バイト)。このサイズは、Oracle Application Expressインスタンス管理者によって設定され、ワークスペースから変更することはできません。
「取消」をクリックして、SQLスクリプト・ページに戻ります。