このセクションでは、SQLコマンド・プロセッサの使用方法について説明します。
内容は次のとおりです。
SQLコマンドを作成、編集、表示、実行および削除するには、SQLコマンド・プロセッサを使用します。SQLコマンドには、SQL文またはPL/SQLブロックを含めることができます。
クエリー・ビルダーで作成したSQLコマンドには、SQLコマンド・プロセッサでアクセスできます。保存するSQLコマンドには、作業領域内で一意の名前を指定する必要があります。
SQLコマンド・プロセッサとSQLスクリプト・リポジトリ間には相互作用はありません。SQLコマンド・プロセッサからSQLコマンドをカット・アンド・ペーストして、SQLスクリプト・エディタで実行できます。
SQLコマンド・プロセッサにアクセスするには、次のステップを実行します。
Oracle HTML DBにログインします。
「作業領域」ホームページが表示されます。
SQLコマンド・プロセッサのホームページを表示するには、次のいずれかのステップを実行します。
「SQLワークショップ」アイコン、「SQLコマンド」アイコンの順にクリックして、SQLコマンド・プロセッサのホームページにドリルダウンする。
「SQLワークショップ」アイコンの右側にある下矢印をクリックしてプルダウン・メニューを表示する。 次に、「SQLコマンド」メニュー・オプションを選択する。
注意: 一貫性を保つため、このドキュメントでは、ナビゲーションを説明する際にプライマリ・ナビゲーション・パス(ドリルダウン方式)を使用します。 |
SQLコマンド・プロセッサのホームページには、コマンド・エディタと表示ペインが含まれています。このエディタでSQLコマンドの入力および編集を行い、出力、保存されたコマンド・リストおよび履歴リストを表示ペインに表示します。
SQLコマンドのホームページでは、次の操作を実行できます。
スキーマの選択。「スキーマ」リストから、コマンドを実行するスキーマを選択して指定します。
トランザクション・コマンドの無効化。 可能な場合は、「自動コミット」チェック・ボックスを選択して、自動コミットを有効にし、トランザクション・コマンドを無効にします。「自動コミット」チェック・ボックスは、現行のHTML DBインスタンスに対してトランザクションSQLコマンドが有効になっている場合にのみ使用可能です。
出力行数の設定。「表示」リストから、一度に表示する出力の行数(最大100,000行)を選択して指定します。「表示」リストの設定に関係なく、DBMS出力のすべての行が表示されます。
SQLコマンドの保存。「保存」をクリックして、エディタのコンテンツまたは現在選択されているコンテンツをファイルに保存します。名前および説明(オプション)を入力するよう求められます。「保存されたSQL」リストに新規コマンドが表示されます。
SQLコマンドの実行。「実行」([Ctrl]+[Enter])をクリックして、エディタ内のコマンドまたはエディタ内で現在選択されているコマンドを実行します。
実行する個々の文の選択。エディタで個々の文を選択し、「実行」をクリックするか、または[Ctrl]+[Enter]を押して、選択した文のみを実行します。
「結果」タブをクリックして、最後に正常に実行されたSQLコマンドからの結果を表示します。表示された結果の下部にある「DBMS出力」をクリックして、DBMS出力の行を表示します。このコントロールは、表示するDBMS出力がある場合にのみ表示されます。「CSVのエクスポート」をクリックして、結果をローカル・ファイル・システムのカンマ区切りファイルにエクスポートします。
「説明」タブをクリックして、オプティマイザに使用される実行計画を調べ、データベースに変更を加える文がないかどうかを確認します。出力内のオブジェクトはオブジェクト・ブラウザにリンクされています。リンクされたオブジェクトをクリックして、そのオブジェクトのプロパティをオブジェクト・ブラウザに表示します。
「説明」タブで、Describe object_nameと入力して「実行」をクリックし、表またはビューの列定義を表示するか、あるいはファンクションまたはプロシージャの仕様を表示します。「説明」に表示されたリンクを選択して、その情報をコマンド・エディタに書き込みます。たとえば、owner.tableを追加するには表名を、列名を追加するには列名を、パラメータを持つオブジェクト・コールを追加するにはプロシージャ名またはファンクション名を、パッケージ・コールを追加するにはパッケージ名をクリックします。
権限を所有しているOracleデータベース・スキーマに対してSQLコマンドを実行するには、SQLコマンド・プロセッサを使用します。
SQLコマンドを実行するには、次のステップを実行します。
「作業領域」ホームページで「SQLワークショップ」アイコンをクリックします。
「SQLコマンド」アイコンをクリックします。
実行するSQLコマンドをSQLエディタ・ペインに入力します。
「スキーマ」リストから、SQLコマンドを実行するデータベース・スキーマを選択して指定します。
「実行」([Ctrl]+[Enter])をクリックして、コマンドを実行します。
表示ペインに結果が表示されます。
トランザクションSQLコマンドがHTML DBインスタンスに対して有効になっている場合は、「自動コミット」チェック・ボックスがSQLコマンド・プロセッサのホームページに表示されます。
SQLコマンド・プロセッサでトランザクションSQLコマンドを無効にするには、「自動コミット」チェック・ボックスを選択します。トランザクション・モードが無効になっている場合にCOMMIT、ROLLBACKなどのトランザクションSQLコマンドを使用しようとすると、エラー・メッセージが戻されます。
トランザクションSQLコマンドを有効にするには、「自動コミット」チェック・ボックスを選択解除します。HTML DBは、トランザクション・モードに入る前に、必要なシステム・リソースが使用可能であることを確認します。リソースが使用できない場合は、エラー・メッセージが表示されます。
トランザクション・モードは、更新の実行、確認するデータの選択、COMMITまたはROLLBACKの変更などを行うことができるステートフルなトランザクション・モードです。このモードは、DBMS_JOBSを使用して実装されます。
トランザクション・モードの次の動作を考慮してください。
明示的なCOMMITコマンドを入力するまで操作はデータベースにコミットされません。
カレント・トランザクションは、SQLコマンド・プロセッサを終了すると終了し、ロールバックされます。
カレント・トランザクションは、セッション・タイムアウトによって終了し、ロールバックされます。システム・プリファレンスSQL_COMMAND_MAX_INACTIVITYでは、アクティブではないセッションがタイムアウトするまでの時間を設定します。デフォルトのタイムアウトは60分です。
「CSVのエクスポート」オプションは使用できません。
参照: スクリプトの実行方法については、「SQLスクリプト・リポジトリの使用」を参照してください。セッション・タイムアウトを設定する方法およびトランザクションSQLコマンドを有効にする方法については、「SQLワークショップの構成」を参照してください。 |
SQLコマンド・プロセッサでは、SQL*Plusコマンドはサポートされていません。 SQLコマンド・プロセッサでSET ECHO
やDEFINE
などのSQL*Plusコマンドを入力しようとすると、エラー・メッセージが表示されます。
SQLコマンド・プロセッサ内では、セミコロン(;)またはスラッシュ(/)を使用するか、あるいは何も付けずにコマンドを終了できます。次に、有効な選択肢を示します。
SELECT * from emp;
または
SELECT * from emp
/
または
SELECT * from emp
最初の例ではセミコロン(;)、2番目の例ではスラッシュ(/)を使用しています。最後の例では、終了記号が付いていないコマンドを示しています。
SQLコマンド・プロセッサでは、入力したコマンドを保存できます。
SQLコマンドを保存するには、次のステップを実行します。
「作業領域」ホームページで「SQLワークショップ」アイコンをクリックします。
「SQLコマンド」アイコンをクリックします。
コマンド・エディタにコマンドを入力します。
「保存」をクリックして、コマンドを保存します。
コマンドの名前と説明を入力するよう求められます。
「保存」をクリックするか、または「取消」をクリックして保存せずにコマンド・エディタに戻ります。
保存されたコマンドが表示領域に表示されます。
SQLコマンドをコピーするには、次のステップを実行します。
「作業領域」ホームページで「SQLワークショップ」アイコンをクリックします。
「SQLコマンド」アイコンをクリックします。
コマンド・エディタと表示ペインの間にある「保存されたSQL」タブをクリックします。
コマンドの「保存されたSQL」リストが表示ペインに表示されます。
コマンドのタイトルをクリックして、そのコマンドをコマンド・エディタにロードします。
「保存」をクリックして、コマンドを保存します。
コマンドの新しい名前を「名前」フィールドに入力して、「保存」をクリックします。
コマンドが新しい名前にコピーされます。
自分が保存したコマンドや、同じ作業領域内の他のユーザーが保存したコマンドにアクセスできます。また、クエリー・ビルダーから、自分が保存したSQLコマンドまたは同じ作業領域内の他のユーザーが保存したSQLコマンドにアクセスすることもできます。
このセクションの構成は次のとおりです。
保存されたSQLコマンドにアクセスするには、次のステップを実行します。
「作業領域」ホームページで「SQLワークショップ」アイコンをクリックします。
「SQLコマンド」アイコンをクリックします。
コマンド・エディタと表示ペインの間にある「保存されたSQL」タブをクリックします。
コマンドの「保存されたSQL」リストが表示ペインに表示されます。
コマンドのタイトルをクリックして、そのコマンドをコマンド・エディタにロードします。
エディタにコマンドが表示されます。
「実行」をクリックして、コマンドを実行します。
「保存されたSQL」ペインには、現行の作業領域に保存されたすべてのコマンドのリストが表示されます。このリストには、SQLコマンド・プロセッサから保存されたコマンドとクエリー・ビルダーから保存されたSQLコマンドが表示されます。保存するSQLコマンドには、作業領域内で一意の名前を指定する必要があります。クエリー・ビルダーとSQLコマンド・プロセッサで同じ名前を使用することはできません。
各コマンド・エントリには、所有者名、コマンド名、SQLコマンドの最初の文字、説明が存在する場合はその説明、およびそのコマンドの最終更新者名と最終更新日時が示されます。
「保存されたSQL」ペインでは、次の操作を実行できます。
所有者別のコマンドの表示。「所有者」リストから、表示するコマンドを所有するユーザーを選択して指定します。すべてのスクリプトを表示するには、「- すべてのユーザー -」を選択します。
コマンドの検索。 「検索」フィールドにコマンドの名前または名前の一部、あるいはコード・スニペットを入力して、「実行」をクリックします。すべてのスクリプトを表示するには、「検索」フィールドを空のままにして「実行」をクリックします。「行」リストから選択して、表示する行数を制御します。
出力行数の設定。 「表示」リストから、一度に表示する保存されたSQLコマンドの数を選択して指定します。
コマンドの削除。削除する各コマンドに関連付けられたチェック・ボックスを選択し、「チェックした項目の削除」をクリックします。
コマンドのソート。列ヘッダーをクリックして、リストされたコマンドをその列ごとにソートします。
実行したコマンドは、明示的に保存するかどうかに関係なく、コマンド履歴に格納されます。SQLコマンド履歴を使用して、現行の作業領域で実行したコマンドにアクセスします。
このセクションの構成は次のとおりです。
履歴のコマンドにアクセスするには、次のステップを実行します。
「作業領域」ホームページで「SQLワークショップ」アイコンをクリックします。
「SQLコマンド」アイコンをクリックします。
コマンド・エディタと表示ペインの間にある「履歴」タブをクリックします。
「履歴」のコマンドのリストが表示ペインに表示されます。
SQL列に表示されているコマンドの一部をクリックします。
エディタにコマンドが表示されます。
SQLコマンドを実行すると、結果が表示されます。最後に実行されたコマンドの結果は、別のSQLコマンドを実行するか、SQLコマンド・プロセッサを終了するまで入手可能です。
SQLコマンドの結果を表示するには、次のステップを実行します。
「作業領域」ホームページで「SQLワークショップ」アイコンをクリックします。
「SQLコマンド」アイコンをクリックします。
コマンド・エディタと表示ペインの間にある「結果」タブをクリックします。
表示ペインに、HTML形式で結果が表示されます。
「DBMS出力」をクリックして、プレーン・テキストでDBMS出力の結果を表示します。
DBMS出力のコントロールは、HTML形式の結果に加えてDBMS出力がある場合にのみ表示されます。DBMS出力のみの場合またはHTML形式の出力のみの場合は表示されません。
「結果」ペインには、SQLコマンドの結果がHTML形式の表として表示されます。出力の最後に、戻された行数とかかった時間が表示されます。DBMS出力は、HTML形式の結果の後にプレーン・テキストとして表示されます。
「結果」ペインでは、次の操作を実行できます。
DBMS出力の表示。表示された結果の下部にある「DBMS出力」をクリックして、DBMS出力の行を表示します。このコントロールは、表示するDBMS出力がある場合にのみ表示されます。
結果のエクスポート。「CSVのエクスポート」をクリックして、結果をローカル・ファイル・システムのカンマ区切りファイルにエクスポートします。ファイルの名前とディレクトリを入力するよう求められます。