SQL*Plusは、SQLコマンドおよびPL/SQLブロックの実行、データベース管理の実行などを行う汎用のユーティリティです。この章では、BS2000/OSDでSQL*Plusを使用する方法について説明します。これは、次の項の情報を含む、『SQL*Plusユーザーズ・ガイドおよびリファレンス』の補足です。
次の項では、BS2000/OSDでSQL*Plusを実行する方法を説明します。
SQL*Plusの使用に関する制限については、『Oracle Databaseインストレーションおよび構成ガイドfor Fujitsu BS2000/OSD』の既知の問題、制限および対処方法に関する説明を参照してください。
SQL*Plusには、2つの起動ファイルがあります。
グローバル起動ファイルであるGLOGIN.SQL
ローカルおよび個人で使用するよう設計されているLOGIN.SQL
どのユーザーがSQL*Plusを起動した場合でも、まずGLOGIN.SQL
ファイルが、次にユーザーのLOGIN.SQL
ファイルが読み込まれます。
グローバル起動ファイルGLOGIN.SQL
は、ユーザーがSQL*Plusを起動すると開始されます。このファイルには、SQL*Plusセッションの初めに実行されるSQL文またはSQL*Plusコマンドが含まれる場合があります。GLOGIN.SQL
ファイルは、$ORAC1120.SQLPLUS.ADMIN.GLOGIN.SQL
という名前で、$ORAC1120
ユーザーIDの下に配置されています。データベース管理者は、必要に応じてGLOGIN.SQL
ファイルをカスタマイズできます。GLOGIN.SQL
ファイルは、現在のユーザーIDにかかわらず実行されます。
LOGIN.SQL
起動ファイルは、ユーザーがSQL*Plusを起動するたびにGLOGIN.SQL
コマンド・ファイルの後にコールされます。GLOGIN.SQL
と同様に、このファイルには、各SQL*Plusセッションの初めにユーザーが実行したい、SQL文またはSQL*Plusコマンドのいずれかが含まれている場合があります。
SQL*Plusでは、まず現在のBS2000ユーザーIDからLOGIN.SQL
が検索されます。LOGIN.SQL
ファイルが見つからないにもかかわらず、SQLPATH
環境変数によってパスが指定される場合、SQL*Plusではそのパスに沿って検索されます。SQL*PlusでLOGIN.SQL
ファイルが検索できた場合、見つけた最初のLOGIN.SQL
ファイルが実行されます。カスタマイズされているSQL*Plus環境では、各ユーザーIDは独自のLOGIN.SQL
ファイルを持つことができます。
SQLPATH
環境変数の説明は、付録B「Oracle環境変数」を参照してください。LOGIN.SQL
の詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください。
サンプルの起動ファイルを次に示します。
set echo off set feedback 4 set pause on set pause PLEASE ACKNOWLEDGE TO CONTINUE set echo on
SQL*Plusを起動するには、次を入力します。
/START-PROGRAM $ORAC1120.SQLPLUS * userid/password
ユーザーIDまたはパスワードのいずれかを省略すると、それらの入力を求められます。
SQL*Plusにログオンすると、SQLプロンプトが表示されます。
SQL>
ユーザーIDまたはパスワードを求められたくない場合は、次を入力します。
/START-PROGRAM $ORAC1120.SQLPLUS * /NOLOG SQL> connect userid/password
このプロンプトに対し、任意のSQL文(SELECT... FROM、CREATE TABLEなど)、または任意のSQL*Plusコマンド(SET LINESIZE
、COLUMN x FORMAT...
など)を入力します。
SQL*PlusのSQL文に割り込むには、INTERRUPTキー[K2]を使用します。たとえば、選択したくない長いレポートを受信した場合、SQL*Plusに割込みをすることができます。INTERRUPTキー[K2]を押した場合、Oracle Databaseでは行の取得を停止し、ユーザーはSQL*Plusコマンド・レベルまで戻されます。
注意: 入力が要求されているときに、INTERRUPTを発行した際には、処理に割り込む前にこの要求に回答する必要があります。ただし、この回答は無視されます。 |
SQL*PlusのHOST
コマンドおよび$
コマンドでは、SQL*Plusにログオン中、BS2000コマンドを入力できます。
次のBS2000コマンドをHOST
または$
コマンドとともに使用した場合、実行が終了しても、ユーザーはSQL*Plusに戻されません。
START-PROGRAM
LOAD-PROGRAM
CALL-PROCEDURE
HELP-SDF
LOGOFF
HOST
コマンドの使用例をいくつか示します。
SQL*PlusのEDIT
コマンドを使用すると、BS2000エディタを起動できます。
SQL> EDIT
このコマンドは、次を実行します。
その後、(@write
コマンドを使用し)このファイルに編集および書込みができます。@halt
コマンドを使用すると、エディタは終了され、SQL*Plusに戻されます。その後、SQL*PlusはSQLEDT.BUF
の現在のコンテンツを、SQL文を実行できるそのコマンドのバッファに読み戻します。
また、EDIT
コマンドでSQLファイルを指定し、EDIT
コマンドを使用してSQLファイルを編集できます。たとえば、次のコマンドを入力すると、エディタEDTがコールされ、LOGIN.SQL
ファイルを編集できます。デフォルトのファイル名の拡張子.SQL
は省略できることに注意してください。
SQL> EDIT login[.SQL]
SQL EDIT
コマンドの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください。
ASCII関数では文字を取り(BS2000/OSDでは、これはEBCDIC文字となります)、特定のキャラクタ・セットで、その文字の数値表現を戻します。ASCII関数では、EBCDIC文字を同等なASCII文字には変換しません。たとえば、ASCII関数は文字Aに対し、値193を返します。逆関数は、CHRです(例: CHR(193)='A')。
SQL*PlusでSPOOL
コマンドを使用する際、SQL*Plusでは出力ファイルのデフォルトのサフィックス.LST
を使用します。
注意: BS2000/OSDオペレーティング・コマンドによって生成される出力は、スプールされません。 |
SPOOL OUT要求を発行すると、プログラムではBS2000 /PRINT
コマンドが発行されます。
/PRINT tempfile,ERASE
ここでtempfile
とは、スプール・ファイルの一時コピーになります。これはファイルを中央のプリンタにルートします。キャラクタ・セットやリモート・プリンタへのルートなど、任意の/PRINT
コマンド・オプションを指定する必要がある場合、ORAENV
ファイルに次の行を追加して実行します。
PRINTPAR=options
ここで、options
は/PRINT
コマンド・オプションの任意の順序です(これらのオプションの詳細は、BS2000/
OSDマニュアル、Benutzerkommandos (ISP形式)を参照してください)。このプログラムはその後、これらのオプションを含む/PRINT
コマンドを発行します。
否定に使用するSQLの記号は感嘆符(!)です。感嘆符の使用は、特に異なる環境で実行されるアプリケーションで、等しくないことを指定するために使用することが推奨されます。
キーボードに感嘆符がない場合、等しくないには左および右山カッコ(<>)を使用できます。
結合に使用するSQL*Plusの記号は、垂直バー| (X'4F')です。ドイツ語のキーボードを使用している場合、(öなど)X'4F'を送信する任意のキーを使用できます。
次のコマンドを使用した場合、SQL*Plusでは現在のBS2000のユーザーIDから、filename.SQL
というファイル名が検索されます。
SQL> START filename
このファイルが見つからない場合、SQL*PlusではORAENV
環境変数SQLPATH
で指定したパスが検索されます。この変数は、コマンド・ファイルを検索するときに使用する、セミコロンで区切られた1つ以上のファイル名の接頭辞を指定するために使用します。
たとえば、SQLPATH
が次のようにPRIVATE
および$GLOBAL
に設定されているとします。
SQLPATH=PRIVATE;$GLOBAL
その場合、次のコマンドを入力したとします。
@filename
SQL*Plusでは次の順で一致するファイル名が見つかるまで、コマンド・ファイルを探し続けます。
filename
.SQL
PRIVATE.
filename
.SQL
$GLOBAL.
filename
.SQL
デフォルトのファイル名の拡張子の詳細は、第1章「はじめに」を参照してください。
サンプル・スキーマにより、共通のプラットフォームが例として提供されます。サンプル・スキーマおよびSQL*Plusの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください。
サンプル・スキーマのインストール方法の詳細は、『Oracle Databaseインストレーションおよび構成ガイドfor Fujitsu BS2000/OSD』のデータベースの作成およびアップグレードに関する章を参照してください。
SQL*Plusの要素のいくつかの制限は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』で説明されています。BS2000/OSD固有の制限は、次の表のとおりです。
項目 | 制限 |
---|---|
ファイル名の長さ | 54(カタログIDおよびユーザーIDを含む) |
LINESIZE | 32767 |
MAXDATA | 32767 |
ネストされたコマンド・ファイルの最大数 | 12 |
Oracle Database 11gリリース2 on Fujitsu BS2000/OSD以降では、SQL*Plusは標準のBS2000環境だけでなくPOSIX環境でも実行できるようになりました。
この項の内容は次のとおりです。
SQL*PlusはPOSIXシェルで起動できます。POSIXでSQL*Plusを実行する方法の詳細は、「POSIX環境でのOracleユーティリティの起動」を参照してください。
SQL*PlusのHOST
コマンドでは、SQL*Plusにログオン中にPOSIXシェル・コマンドを入力できます。
HOSTコマンドの使用中は、次の点を考慮してください。
シェル・コマンドなしにHOST
コマンドを入力する場合、コマンド・レベルまで戻されます。SQL*Plusに戻るにはPOSIXサブシェルでexit
コマンドを使用します。
シェル・コマンドとともにHOST
コマンドを使用する場合、コマンドは実行され、SQL*Plusに戻されます。
BS2000 SDFコマンドを実行するには、bs2cmd
POSIXシェル・コマンドを使用します。
SQL文を編集するには、EDIT
コマンドを使用し、SQL*Plusでテキスト・エディタを起動します。
デフォルトのエディタは、POSIXセッションに接続されている端末によって異なります。POSIXシェルがブロックモード端末で起動されている場合、SQL*Plusでedtu
がデフォルトのエディタとして設定されます。POSIXシェルがリモートのXクライアントからrlogin
またはssh
を介してxterm端末で起動されている場合、SQL*Plusではデフォルトのエディタはvi
に設定されます。
SQL*Plusでは、DEFINE _EDITOR
コマンドを使用しお好みのテキスト・エディタを定義できます。POSIX環境では、お好みのエディタを定義できます。たとえば、EDIT
コマンドで使用されるエディタをPOSIXエディタedtu
に定義したい場合、SQL*Plusで次のコマンドを入力します。
DEFINE _EDITOR = edtu
注意:
|