News FrontBase WebObjects Business About US
 Top > FrontBase > 日本語ドキュメント関係 > FrontBase 2.26-関係 > FrontBase Interactive SQL 92

The Scalable Relational Database Server

sql92 は、SQL92ステートメントを実行するための、コマンドライン型ツールである。

Command 構文

   sql92 <options> [<filename>]
<filename>が指定されたら、sql92は、その名前のファイルにストアされたSQK92ステートメントを読みこみ実行する。入力ファイル名が省略されている場合には、標準入力からSQL92ステートメントを読みこみ実行する。出力はすべて、標準出力に対して行われる。

オプション:

-s   サイレント(Silent)。コマンド実行時に、標準出力に書き出さない。デフォルトでは、入力ソースがターミナル・デバイスでない場合、ステートメントは実行時に書き出される。
-v   出力有り(Verbose)。実行時にステートメントを逐次標準出力に書き出す。
-i   無視(Ignore)。通常、sql92は、エラーが起こると、処理から強制的に抜け出す。このigonoreオプションを指定しておけば、そのような場合でも、sql92 は処理を続行する。
-e   エラーのときは、強制的に処理を終える(Exit)。
-p   プロンプト(Prompt)。デフォルトでは、sql92は、入力ソースがターミナル・デバイスの場合だけ、ステートメントに対しプロンプトを返す。しかし、このpromptオプションを指定しておくと、sql92 は常にプロンプトを出す。
-c   比較(Compare)。テストを実施し、入力と出力を比較して、それらが等しければ、.合格のコメントを書き出し、そうでなければ書き出さない。
-u   入力エンコード。引数で、入力ファイルのエンコードを指定する。デフォルトは、UTF8で、US-ASCIIとして扱われるものである。

一般的事項

sqk92のコマンドは、常に“;”というキャラクタで終わる。sql92に対し、タイプする場合は、“;”が来るまで、ステートメントを中断してはならない。もしそうすると、SQL92ステートメントに変換したとき、複数行に分かれてしまう。SQL92ステートメントのほとんどは、FrontBaseSQLサーバによって解釈されるわけだが、コマンドの中には、sql92側で解釈されるものもある。こういったコマンドには、サーバへの接続処理を行うものや、入力ファイルの管理を行うものが多い。

コメントは“#”というキャラクタではじめるか、“--”というストリングを使う。これで、該当行末までがコメントとして扱われる。“#”は、コメント区切り文字で、インタープリタ(interpreter)に対する書き込みを許す。コメントは、入力の一部として考えられるため、出力に書き出される。キャラクタ“>”で始まる行もまた、コメントとして無視される。しかし、この場合は出力に書き出されない。SQL92ステートメントによる実行結果は、“>”で始まる行によって書き出される。これにより、テストスクリプトを書いて、スクリプトの出力が入力と同じであるかをチェックし、元に戻ってプログラムの穴を簡単にチェックすることができる。

ファイル初期化を実行しようとすると、.sql92rc.sqlという名前のsql92コマンドが呼び出される。sql92は、まずカレント・ワーキング・ディレクトリをサーチし、次にユーザのホーム・ディレクトリをサーチする。

以下に、sql92で解釈されるコマンドを示す:

Connect

構文:

CONNECT TO <database-name>
           [DATABASE_PASSWORD <database-password>]
           [ON <host-name>]
           [AS <connection-name>]
           [USER <user-name>]
           [PASSWORD <password>];
CONNECT TO DEFAULT;

最初の構文例は、<database-name>という名前のデータベースに、<host-name>というホスト上の<database-password>というデータベース・パスワードを使って、接続する命令である。<host-name>が特に指定されていなければ、ローカルホストが接続先とされる。各接続は、接続名をもって識別され、接続名はプロンプト値としても用いられる。接続名は、データベース名と、ホスト名から構成される。<user-name>は、SQL92セッションに対して使われる識別子でもある。<user-name>が特に指定されていなければ、ホストのOSに対するログイン名が<user-name>として使われる。<password>は、ユーザ・パスワードを指定するものである。接続コマンドは、SQL92のコマンドでも、実際にはsql92で解釈されている。

2番目の構文例は、デフォルトの接続を確保する場合である。

Create Database

構文:
CREATE DATABASE <database-name> [ON <host-name>];

<host-name>という名前のホストに、<database-name>という名前の新しいデータベースを作成する。ホスト名が指定されない場合、ローカルホストの名前がホスト名となる。

Define Blob

構文:
DEFINE BLOB <blob-name> LENGTH <length> VALUE {<hex-bytes>};

<blob-name>という名前の、<length>バイト長のblobオブジェクトを定義し、その値を、<hex-bytes>リストに基づいて決定する。<hex-bytes>は、16進数数字で二桁とする。<hex-bytes>リストは、新しい行と空白からなる。blobオブジェクトは、定義されると、それ以降のSQLステートメントから参照可能である。参照形式は、@'<blob-name>'というフォームで、特定の列に、blobオブジェクトを新たに作成する。blobオブジェクトは、いちいち手でつくられるべきものではなく、通常は、EOFアダプタや、その他のツールによるデバッグ出力結果として生じるものである。blobオブジェクトは、次のcommitあるいはrollbackが実行されると、消去される。

Define Clob

構文:
DEFINE CLOB <clob-name> LENGTH <length> VALUE {<hex-bytes>};

オブジェクト抜きのblobを、キャラクタ・ストリングとして定義する。

Delete Database

構文:
DELETE DATABASE <database-name> [ON <host-name>];

<host-name>という名前のホストに、<database-name>という名前のデータベースを削除する。ホスト名が指定されない場合、ローカルホストの名前がホスト名となる。

Disconnect

構文:
DISCONNECT <connection-name>
DISCONNECT CURRENT;
DISCONNECT ALL;

最初の構文では、<connection-name>という名前の接続を切断する。2番目の構文では、カレントの接続を切断し、3番目の構文では、すべての接続を切断する。

Execute

構文:
EXECUTE <file-name>;

<file-name>という名前のファイルから、sql92コマンドを読み取り実行する。

Exit

構文:
EXIT

sql92の処理を終了する。EXITは、QUITと共に、“;”で終了する必要がないコマンドである。

Quit

構文:
QUIT

sql92の処理を終了する。QUITは、EXITと共に、“;”で終了する必要がないコマンドである。

Set Connection

構文:
SET CONNECTION <connection-name>;
SET CONNECTION DEFAULT;

最初の構文では、<connection-name>という名前の接続を、カレントの接続に設定する。2番目の構文では、デフォルトの接続を、カレントの接続に設定する。

Set Database Password

構文:
SET DATABASE_PASSWORD [<password>];

データベース・パスワードを設定する。<password>が省略されている場合は、以降の接続において、パスワードは不要となる。

Set Default

構文:
SET DEFAULT LOCKING [OPTIMISTIC | PESSIMISTIC];

新しいセッションが作成された場合の、デフォルトのロック基準を設定する。

Set Password

構文:
SET PASSWORD [USER <user-name>]
             [OLD <old-password>]
             [NEW <new-password>];

<user-name>という名前のユーザに対し、パスワードを設定する。該当ユーザが、すでにパスワードを持っている場合は、その古いパスワードを特定し、その上で<new-password>で指定した新しいパスワードを設定する。<new-password>が省略された場合は、そのユーザはパスワードなしでログインできる。

Show Connections

構文:
SHOW CONNECTIONS;

過去、確保された全接続を示す。

Start Database

構文:
START DATABASE <database-name> [ON <host-name>];

<host-name>という名前のホストに、<database-name>という名前のデータベースを運用開始する。ホスト名が指定されない場合、ローカルホストの名前がホスト名となる。

Stop

構文:
STOP;

カレントの接続により接続されたデータベースの運用を停止する。

Stop Database

構文:
STOP DATABASE <database-name> [ON <host-name>];


<host-name>という名前のホストに、<database-name>という名前のデータベースを運用停止する。ホスト名が指定されない場合、ローカルホストの名前がホスト名となる。

Example

ql075.sqlというファイルがExampleと呼ばれるデータベースを作成する。このデータベース中のテーブルは、EOF Movie例で使われるデータを納めるために使われている。

(c)Copyright 1999-2006 A10 all right reserved.