ここでは、一部のSQL*Plusコマンドの旧バージョンについて説明します。 これらの旧コマンドは、これまで同様にSQL*Plusで動作しますが、現在はサポートされていません。 かわりに、次の表に示すSQL*Plusコマンドを使用することをお薦めします。
廃止されたコマンドは、現行リリースのSQL*Plusで使用可能です。 今後のリリースでは、SQLPLUSCOMPATIBILITY変数を設定した場合のみ、使用可能になる予定です。 代替コマンドを使用するには、廃止されたコマンドを使用して、スクリプトを変更する必要があります。
廃止されたコマンド | 代替コマンド | 代替コマンドの説明 |
---|---|---|
BTITLE(旧形式) |
|
各レポート・ページの下部にタイトルを配置し書式設定するか、または現行のBTITLE定義を表示します。 |
COLUMN DEFAULT |
COLUMN CLEAR |
列の表示属性をデフォルトにリセットします。 |
|
SQL*Plusがコマンドとして解釈しないようにコメントを付けます。 | |
|
各ページの最上部から上部タイトルまでの間に入れる空白行の数を設定します。 | |
SET BUFFER |
|
SQL*Plusコマンド・バッファ、または保存されたファイルの内容を編集できます。 外部ファイルの作成および使用には、SQL*PlusのSAVE、GET、@およびSTARTコマンドを使用します。 |
なし |
廃止 | |
なし |
廃止 | |
なし |
廃止 | |
なし |
廃止 | |
SET DEF[INE] {& | c | ON | OFF} |
接頭辞の置換変数に使用される文字を設定します。 | |
|
SELECTによって選択された列の間に出力するテキストを設定します。 | |
|
SELECTによって選択された行が長すぎてカレント行の幅に収まらない場合に、その行をSQL*Plusで切り捨てるかどうかを制御します。 | |
なし |
廃止 | |
TTITLE(旧形式) |
|
各レポート・ページの上部にタイトルを配置し書式設定するか、または現行のTTITLE定義を表示します。 |
それぞれのレポート・ページの下部にタイトルを表示します。
旧形式のBTITLEコマンドは、書式設定機能に関しては、新形式と比べると制限されていますが、UFI(SQL*Plusの前身)との互換性を提供します。 旧形式で定義される下部タイトルでは、空の行が1行入り、その後に中央揃えされたテキスト行が続きます。 詳細は、「TTI[TLE] text(旧形式は廃止)」を参照してください。
スクリプト内のドキュメントのブロックを開始します。
スクリプトにコメントを挿入するための現行の方法については、「スクリプトへのコメントの挿入」および「REMARK」コマンドを参照してください。
DOCUMENTを入力し[Return]を押すと、SQL*Plusでは、ドキュメントを終了するまで、「SQL>」のかわりに「DOC>」が表示されます。 ドキュメントは、シャープ記号(#)のみが単独で入っている行で終わります。
DOCUMENTをOFFに設定した場合、SQL*Plusは、DOCUMENTコマンドで作成したドキュメントのブロックを表示しません。 詳細は、「SET DOC[UMENT] {ON|OFF}(廃止)」を参照してください。
n行文のスプール出力を、次のページの先頭より先へ進めます。
スプール出力を進める現行の方法については、「SET NEWP[AGE] {1 | n | NONE}」を参照してください。
指定したbufferを現行バッファにします。
最初は、SQLバッファが現行バッファです。 SQL*Plusでは、複数のバッファを使用する必要はありません。SQLバッファのみで要件が満たされます。
入力したバッファが存在しない場合、SET BUFFERは、そのバッファを定義(作成および命名)します。 SQL*Plusを終了すると、SQL*Plusは、バッファおよびその内容を削除します。
問合せを実行すると、SQLバッファは、自動的に現行バッファになります。 バッファから別のバッファへテキストをコピーするには、GETおよびSAVEコマンドを使用します。 現行バッファからテキストを消去するには、CLEAR BUFFERを使用します。 別のバッファを使用しているときにSQLバッファからテキストを消去するには、CLEAR SQLを使用します。
COMPATIBILITYは、Oracle7の場合はV7に、Oracle8以上の場合はV8に設定します。 COMPATIBILITYのデフォルトは、常にNATIVEです。 そうでない場合は、COMPATIBILITYを、接続先のデータベースで使用するOracle DatabaseのSQL構文のバージョンに合せて設定します。
デフォルトの互換性設定であるNATIVEは、最新のOracle Databaseに最も適した設定です。
SQL*Plusバージョンの互換性設定については、「SET SQLPLUSCOMPAT[IBILITY] {x.y[.z]}」を参照してください。
例
Oracle7のSQL構文で作成されたスクリプトSALARY.SQLを実行するには、次のように入力します。
SET COMPATIBILITY V7 START SALARY
このファイルを実行した後で、Oracle Database 10g用に作成されたスクリプトを実行するために互換性をNATIVEにリセットするには、次のように入力します。
SET COMPATIBILITY NATIVE
これ以外の方法として、スクリプトの最初にコマンドSET COMPATIBILITY V7を追加し、ファイルの終わりでCOMPATIBILITYをNATIVEにリセットすることもできます。
カーソル使用動作を設定します。
カーソルが、それぞれのSQL文の後でクローズおよび再オープンするかどうかを、ONまたはOFFで設定します。 環境によっては、この機能が、データベース・サーバーのリソースを解放する際に有効な場合もあります。
DOCUMENTコマンドで作成したドキュメントのブロックを表示または非表示にします。
SET DOCUMENT ONを指定すると、ドキュメントのブロックが画面にエコー表示されます。 SET DOCUMENT OFFを指定すると、ドキュメントのブロックを非表示にします。
DOCUMENTコマンドについては、「DOC[UMENT](廃止)」を参照してください。
SQL*Plusが処理できる最大行幅を設定します。
現在、SQL*Plusでは、最大行幅は制限されていません。 SQL*Plusは、SET MAXDATAを使用して設定した値を無視します。
置換変数およびパラメータの存在確認のためのスキャンを制御します。 OFFを指定すると、置換変数およびパラメータの処理を行わず、ONを指定すると、通常の処理ができます。
ONを指定すると、SET DEFINE ONと同じ機能が得られます。
出力内の列間の空白数を設定します。 nの最大値は10です。
SET SPACE 0コマンドの機能は、SET COLSEPコマンドと同じです。 このコマンドは、SET COLSEPに置き換えられましたが、下位互換性のためにまだ使用できます。 SHOWコマンドを使用すると、COLSEPは認識しますがSPACEは認識しないので、COLSEPを使用する方が便利です。
SQL*Plusが、カレント行の幅に収まらないデータ項目を切り捨てるか折り返すかを制御します。
ONは、SET WRAP OFFと同じ働きをし、OFFは逆の働きをします。 SHOWコマンドを使用すると、WRAPは認識しますがTRUNCATEは認識しないので、WRAPを使用する方が便利です。
それぞれのレポート・ページの上部にタイトルを表示します。
旧形式のTTITLEコマンドは、書式設定機能に関しては、新形式と比べると制限されていますが、UFI(SQL*Plusの前身)との互換性を提供します。 旧形式で定義される上部タイトルは、最初の行に日付が左揃えで、ページ番号が右揃えで入り、次に、中央揃えのテキストを含む行が続き、最後に空白行が1行入ります。
TTITLEは、ユーザーが入力するtextをタイトルとして表示します。
SQL*Plusは、SET LINESIZEが決める行サイズに基づいてテキストを中央揃えにします。 セパレータ文字(|)があると新しい行が始まります。行の中に2個のセパレータ文字(||)があると、空白行が1行挿入されます。 行セパレータ文字は、SET HEADSEPで変更できます。
旧形式のTTITLEおよびBTITLEのページ番号の書式設定を制御するには、_pageという名前の変数を定義します。 _pageのデフォルト値は、書式設定文字列page &P4です。 書式を変更するには、次のように、新しい書式設定文字列を指定したDEFINE _pageを使用します。
SET ESCAPE / SQL> DEFINE _page = 'Page /&P2'
この書式設定文字列の場合、pageの頭文字が大文字で表示され、ページ番号の書式が2文字の幅に設定されます。 pageは、すべてのテキストで置き換えることができ、幅は、すべての数値で置き換えることができます。 SQL*Plusがアンパサンド(&)を置換変数と解釈しないように、エスケープを設定する必要があります。 エスケープ文字を設定する方法の詳細は、「SET ERRORL[OGGING] {ON | OFF} [TABLE [schema.]tablename] [TRUNCATE] [IDENTIFIER identifier]」を参照してください。
コマンド名のすぐ後に有効な新形式の句が続いていない場合、SQL*Plusは、TTITLEを旧形式のコマンドと解釈します。
TTITLEとともにCENTERを使用して、1行に複数の語を入れるには、新形式のTTITLEを使用します。 詳細は、「TTITLE」コマンドを参照してください。
例
旧形式のTTITLEを使用して、最初の行に左寄せの日付と右寄せのページ番号が示され、次の行にSALES DEPARTMENTが表示され、3番目の行にPERSONNEL REPORTが表示されるように上部タイトルを設定するには、次のように入力します。
TTITLE 'SALES DEPARTMENT|PERSONNEL REPORT'