Firebirdに標準で付属するコマンドラインツールの簡易マニュアル。随時追加。~
有志による自由な追加求む〜。

#contents

----

&aname(gsec);
*ユーザー情報の管理 gsec [#v247a73e]
ユーザー情報の追加・削除・情報変更を行う。~
ユーザーアカウント等の管理も、通常のデータベースファイルと同じような方法で行われており、
ファイル名は通常は「security.fdb」となっている。(IBやFB1.0では「isc4.gdb」なので注意)

**コマンドライン [#dbe3915d]
 gsec [options]
&br;
操作対象を指定しないと、対話モードに入る。データベースの指定を行わないと、ローカルマシンに対して処理が行われる。~
optionsは次のとおり。
|-user string|操作する本人のユーザー名。通常はSYSDBAを指定する|
|-password or -pa string|操作する本人のパスワード|
|-uid integer|操作対象のID(整数)|
|-gid integer|操作対象のグループID(整数)|
|-pw string |操作対象のパスワード|
|-fname string |ファーストネーム(通常は名)|
|-mname string |ミドルネーム|
|-lname string |ラストネーム(通常は姓)|
|-database host:path|host名でアクセスするマシンのpathで指定したユーザー情報デ−タベースに対して処理を行う。通常、ファイル本体の名前はsecurity.fdbとなっている|

**対話モードでのコマンド [#w0f2c860]
|di[splay]|security.fdb(ユーザー情報データベース)の内容をすべて表示|
|di[splay] name|nameのみを表示|
|a[dd] name -pw password&br;[option argument]&br;[option argument ...]|ユーザーの追加。option でフルネーム関係の情報などの、ユーザーのより詳細な情報も追加できる|
|mo[dify] name [options]|既存ユーザーの情報を変更|
|de[lete] name |ユーザーの削除|
|h[elp] or ? |ヘルプの表示|
|q[uit]|対話モード終了|

&br;&br;
----
&br;

&aname(gfix);
*データベースの設定と管理 gfix [#md0a09cd]
データベースの色々な設定と管理を行うコマンドです。
IBConsole では出来ないような機能も含まれていますので、GUIベースのツールを
主に使っている人でも、使い方を覚えて損はありません。~
重要な処理が行えるコマンドなため、データベースの所有者(作成者)
もしくは管理者(SYSDBAユーザー)でなければ本コマンドは使用できません。~
非常に多機能なツールで、以下のような機能があります。~
&br;
・シャットダウン~
・フラッシュ指定~
・スイープ~
・読み書きモード・読み込み専用モードの切り替え~
・SQL Diarect の変更~
・データベース毎のキャッシュサイズの変更~
・リンボ状態になったトランザクションのコミット~
・データベースやデータのある程度の修復と検証~
・シャドウデータベースの設定~
&br;

**コマンドライン [#aab7926f]
 gfix [options] db_name
&br;
optionsは次のとおり。~
&br;
|>|~アカウント指定|
|-user name|実行するユーザー名。当然ながらデータベース上でのユーザー名を指定する。|
|-pa[ssword] text|実行するユーザーのパスワード|
|>|~シャットダウン関係|
|-sh[ut]|シャットダウン実行の指定。-attach,-force,-tranのいずれかを同時に指定しなければならない。|
|-at[tach] n|新規接続を禁止してn秒後にシャットダウンを実行する。通常は本オプションでシャットダウンを行う。もしもn秒経っても接続が残っている場合は、シャットダウンは行われない。|
|-f[orce] n|n秒後に強制的にシャットダウンを実行する。仕掛かり処理も無視されるため使用には細心の注意が必要。|
|-tr[an] n|新規トランザクションを禁止してn秒後にシャットダウンを実行する。通常は本オプションでシャットダウンを行う。もしもn秒経っても有効なトランザクションが残っている場合は、シャットダウンは行われない。|
|-o[nline]|予約されたシャットダウン操作をキャンセル(予約シャットダウンの中止)する。|
|>|~フラッシュ関係|
|-w[rite] { sync | async }|ファイル書き込み時に同期(強制)書き込みを行うか、非同期(バッファリング)を行うかの指定を行う。syncを指定すると同期書き込みで、asyncを指定すると非同期となる。パフォーマンスと信頼性のさじ加減により使い分ける。|
|>|~キャッシュ関係|
|-b[uffers] n|指定データベースに対するデフォルトのキャッシュサイズをnページにする。ページサイズはデータベース作成時の指定に依存する。nはバイト数の指定ではない。|
|-ca[che] n|予約。|
|>|~トランザクション関係|
|-t[wo_phase] { ID | all }|指定ID、または全てのリンボ状態のトランザクションに対し、ツーファーズコミットを利用した復元を行う。|
|-c[ommit] { ID | all }|指定ID、または全てのリンボ状態のトランザクションをコミットする。|
|-r[ollback] { ID | all }|指定ID、または全てのリンボ状態のトランザクションをロールバックする。|
|-l[ist]|リンボ状態のトランザクションのIDを表示。-two_phase オプションと同時に使用すると、ツーファーズコミットによる復元を行った結果を表示する。|
|-p[rompt]|-listと同時に使用することにより、処理の実行内容が表示される。|
|>|~スイープ関係|
|-h[ousekeeping] n|自動スイープを行う間隔を設定する。nはトランザクション数を示す。&br;0に設定すると、自動スイープは停止される。この場合は、定期的に手動でスイープを行う運用とした方が良い。&br;未設定時のデフォルト値は20,000となっている。|
|-s[weep]|手動でのスイープの実行。データベース動作中はいつでも実行可能。|
|>|~データベース修復関係|
|-v[alidate]|修復実行の指定。未使用領域の開放と破損データベースのリポートを行う。|
|-f[ull]|レコードとページの修復と、未割り当てエリアのフラグメントも行われる。-validateオプションと同時に使用|
|-m[end]|修復時に破損レコードを使用不可としてマークする。バックアップ時等も無視されるようになる。|
|-n[o_update]|実際の修復は行わない。破損チェックのみを行うときに併用する。|
|>|~設定変更|
|-mo[de] { read_write | read_only }|データベースの読み込み専用モード、読み書きモードを設定する。|
|-s[ql_dialect] n|データベースのDialectを設定する。1はIB5.5以前、3はIB6以降(SQL-92対応)で指定。Firebirdは3を指定する。|
|>|~シャドウデータベース関係|
|-activate|シャドウデータベースを有効にする。|
|-kill|未使用のシャドウを削除する。|
|>|~その他|
|-i[gnore]|修復またはスイープ時に、チェックサムエラーを無視する。|
|-z|gfixとデータベースのバージョンを表示|
&br;&br;
----
&br;

&aname(gbak);
*データベースのバックアップと復元 gbak [#v1296d4c]
 データベースのバックアップと復元(リストア)を行うコマンドです。IBConsole にも
ほぼ同様の機能があり、互換が有りますので併用することが可能です。
 データベースの所有者(作成者)もしくは管理者(SYSDBAユーザー)のみが本コマンドを
使用できます。~
 コンソールベースのコマンドラインツールですので、Unix/Linux の cron やデーモン、
Windows の AT コマンドやサービスなどを使用して定時バックアップを自動化し、
専任オペレーター不要な環境を構築したい場合などに非常に便利です。~
&br;
 バックアップはいつでも行えますが、当然ながら処理に時間がかかりますし負荷も重く
なります。実行するタイミングは熟慮して決定する必要があります。~
 ''復元(リストア)は、アプリケーションが使用中のデータベースに対して行うことはお勧めできません。''~
&br;
 バックアップ先のファイル名の拡張子は、(IB時代は)".gbk"が推奨されていますが、
どのような拡張子でも問題ありません。とりあえず、".gdb"は避けておいた方が良い
と思いますが。~
 バックアップファイルは、デフォルトではコマンドを実行したホストマシンからアクセスできる場所に作成出来ます。別ホスト上に作成する場合は、オプションを使用して
サービスマネージャを指定する必要があります。これがちょっと曲者で、通信プロトコル
により指定が異なりますので注意が必要です。~
&br;
 このコマンドは、データベースのバックアップ→削除→リストア(→OSによるファイルデフラグ)
という一連の作業により、ガベージコレクションに利用したりもします。スイープと違って、
一度綺麗に削除した後に再構成となりますので時間はかかりますが、より綺麗に掃除する
ことが出来ます。
 長時間使用しているデータベースで、初期に比べて動作が遅いというときには、
この方法を試してみれば処理速度が向上するかもしれません。~

**バックアップ [#f868d6db]
 バックアップ先(ターゲット)がシングルファイルの方法と、マルチファイル化する方法
があります。~
 マルチファイルにバックアップすることにより、巨大なデータベースをバックアップする
時に、バックアップで作成されたファイルをリムーバブルメディアにコピーするのが容易に
なります。
 また、Windows の FAT 環境や古いLinux/Unixのようにファイルサイズの制限が厳しい
ターゲットマシン上にバックアップを作成することも出来ます。~
 どちらの方法にせよ、バックアップ元のデータベースがマルチファイル構成の場合は、
先頭ファイルのみを指定します。
&br;

-バックアップ先がシングルファイルの場合
 gbak [-B] [options] database target

-バックアップ先がマルチファイルの場合
&br;
 3ファイルの場合です。注意するべき点としては、最後のターゲットファイルにサイズを
指定することは出来ないということです。当然それ以外に対してのサイズ指定は必須です。
 gbak [-B] [options] database target1 size1[k|m|g] target2 size2[k|m|g] target3

-バックアップモードの引数
|database|・バックアップしたい(バックアップ元)データベースの名前です。相手がネットワーク上の場合はホスト指定(host名:)が必要です。&br;・マルチファイル構成データベースの場合は、先頭ファイルのみを指定します。|
|target|バックアップ先(ターゲット)を指定します。デバイス名もしくはファイル名です。&br;・UNIXなどで"stdout"を指定すれば標準出力に書き出します。パイプラインを使うときに有用です。&br;・サイズ指定が無い場合は、自動的に必要なファイルサイズに拡張されます。|
|size|ファイルサイズの指定(バイト数)です。&br;・データベースのページサイズに対する倍数で指定する必要があります。最小値は200です。&br;・後にk/m/gを付ける事により、Kバイト、Mバイト、Gバイト単位で指定できます。|

-バックアップモード用のオプション
|>|~モード指定|
|-b[ackup_database]|バックアップモードの指定|
|>|~アカウント・接続に関する指定|
|-pa[ssword] text|実行するユーザーのパスワード|
|-role name|接続時のロールを名前で指定する|
|-se[rvice] servicename|・バックアップ元データベースと同じホスト上にバックアップを作成する場合に指定する&br;・指定ホストのサービスマネージャを呼び出すが、通信プロトコルによって名前が異なるので注意。&br;TCP/IP    hostname:service_mgr&br;SPX      hostname@service_mgr&br;名前つきパイプライン  \\hostname\service_mgr&br;ローカル      service_mgr|
|-user name|実行するユーザー名。当然ながらデータベース上でのユーザー名を指定する。|
|>|~バックアップファイル作成に関する指定|
|-co[nvert]|外部ファイルを内部テーブルに変換|
|-e[xpand]|バックアップ時に圧縮を行わない|
|-fa[ctor] n|テープデバイスに対してブロックサイズを指定|
|-g[arbage_collect]|バックアップ時にガベージコレクションを行わない|
|-ig[nore]|バックアップ時にチェックサムを無視する|
|-l[imbo]|バックアップ時にリンボ状態のトランザクションを無視する|
|-m[etadata]|メタデータのみバックアップを行う。格納されたデータレコードはバックアップされない|
|-nt|互換性を考慮しないバックアップファイルを作成する|
|-ol[d_descriptions]|古いフォーマットでメタデータをバックアップする|
|-t[ransportable]|互換性を考慮したバックアップファイルを作成する(未指定時のデフォルト動作)|
|>|~その他|
|-v[erbose]|gbakの動作状態を表示|
|-y [ file|suppress_output ]|動作メッセージを指定ファイルに出力する。&br;・指定ファイルは既存のファイルを指定してはいけない&br;・suppress_outputを指定すると、メッセージを出力しない|
|-z|gbakとデータベースのバージョンを表示|
&br;
&br;
**復元(リストア) [#k3cbaa7f]
 バックアップとは違い、バックアップ、リストアターゲット(復元する対象のデータベース)
がマルチファイル構成の場合、全てのファイルを指定する必要があります。リストア時には、
ターゲットのデータベースを新規に作成するか、既存のデータベースに対して行うかを指定する
必要があります。~
 ''※※※※※重要※※※※※:復元(リストア)操作は、アプリケーションが使用中のデータベースに対して行うことはお勧めできません。''
リストア処理でトランザクションが無視されてしまい、一貫性が失われる場合があるためです。
ネットワークを遮断するか、使用アプリケーションを全て停止させた状態での使用を
お勧めします。
&br;
-両者ともにシングルファイルの場合
 gbak {-C|-R} [options] source dbfile
-バックアップがシングルファイルでリストアターゲットがマルチファイルの場合
 gbak {-C|-R} [options] source dbfile1 size1 dbfile2 [ size2 dbfile3 …]
-バックアップがマルチファイルでリストアターゲットがシングルファイルの場合
 gbak {-C|-R} [options] source1 source2 [source3 …] dbfile
-両方ともマルチファイルの場合
 gbak {-C|-R} [options] source1 source2 [source3 …] dbfile1 size1 dbfile2 [size2 dbfile3 …]

-リストアモードの引数
|dbfile|・リストアするターゲットデータベースの名前です。相手がネットワーク上の場合はホスト指定(host名:)が必要です。|
|source|バックアップで作成されたファイル、またはデバイス名を指定します。&br;・UNIXなどで"stdout"を指定すれば標準入力より読み込みます。パイプラインを使うときに有用です。|
|size|ファイルサイズの指定(バイト数)です。&br;・データベースのページサイズに対する倍数で指定する必要があります。最小値は200です。&br;・後にk/m/gを付ける事により、Kバイト、Mバイト、Gバイト単位で指定できます。&br;・各セクションの最後にファイルには指定できません。自動的に必要なサイズに拡張されます。|

-リストアモード用のオプション

|>|~モード指定|
|-c[reate_database]|新しいデータベースを作成して復元|
|-r[eplace_database]|既存データベース、または新しいデータベースを作成して復元する|
|>|~アカウント・接続に関する指定|
|-pa[ssword] text|実行するユーザーのパスワード|
|-se[rvice] servicename|・バックアップ元データベースと同じホスト上にバックアップを作成する場合に指定する&br;・指定ホストのサービスマネージャを呼び出すが、通信プロトコルによって名前が異なるので注意。&br;TCP/IP      hostname:service_mgr&br;SPX      hostname@service_mgr&br;名前つきパイプライン  \\hostname\service_mgr&br;ローカル    service_mgr|
|-user name|実行するユーザー名。当然ながらデータベース上でのユーザー名を指定する。|
|>|~復元時のデータベース操作に関する指定|
|-bu[ffers]|復元されるデータベースのキャッシュサイズを設定する|
|-i[nactive]|作成されたインデックスを復元時に無効にする|
|-k[ill]|設定されていたシャドウファイルは作成しない|
|-mo[de] {read_write|read_only}|復元されるデータベースのモードを設定する。&br;・指定は read_write または read_only のどちらか&br;・本オプション未設定時のデフォルトは、read_write|
|-n[o_validity]|復元時にメタデータからPRIMARYなどの制約をすべて削除する。これにより、制約と矛盾するデータがあってもデータを復元できる。使用には注意が必要。|
|-o[ne_at_a_time]|テーブルごとに復元を行う。部分的に破損したデータベースを復元するときに使用する|
|-p[age_size] n|復元時にページサイズを指定数に設定する。指定可能な値は、1024,2048,4096,8192,16384となっている。本オプション未設定時のデフォルト値は1024。|
|-use_[all_space]|データベースを復元するときに、データページの全てを使用して復元する。未設定時のデフォルトでは80%使用となっている|
|>|~その他|
|-v[erbose]|gbakの動作状態を表示|
|-y [ file|suppress_output ]|動作メッセージを指定ファイルに出力する。&br;・指定ファイルは既存のファイルを指定してはいけない&br;・suppress_outputを指定すると、メッセージを出力しない|
|-z|gbakとデータベースのバージョンを表示|

&br;&br;
----
&br;

&aname(gstat);
*データベースの状態確認 gstat [#p4865b18]
 データベースの状態を確認するコマンドです。
 データベースの所有者(作成者)もしくは管理者(SYSDBAユーザー)のみが本コマンドを
使用できます。(Unix版での注意:このコマンドを使用するユーザーは、データベースの
システムファイルをアクセスできる適切な権限が必要です。使用アカウントのグループ
設定などが必要になる場合があります)~
 このコマンドは、ローカルなデータベースにのみ使用できます。~
 また、このコマンドはデータベースが起動していなくてもある程度の機能が使用できます。

**コマンドライン [#m042eb10]
 gstat [options] database
 options は次のとおり。
&br;
|-all|-indexと-dataを同時に指定した場合と同じ。報告内容指定を行わない場合のデフォルト動作|
|-data|データテーブルの状態を報告|
|-header|ヘッダページの情報を報告して停止|
|-index|インデックスの状態を報告|
|-log|ログページの情報を報告して停止|
|-pa[ssword] text|実行するユーザーのパスワード|
|-system|ユーザーテーブルとインデックスに加えて、システムテーブルとインデックスの状態も報告|
|-user name|実行するユーザー名。当然ながらデータベース上でのユーザー名を指定する。|
|-z|gstatのバージョンを表示|


**ヘッダページ情報 [#ya985584]
ヘッダページ情報を表示します。

:Checksum|ヘッダページのチェックサム
:Generation|ヘッダページが書き込まれる毎に+1されるカウンタ
:Page size|データベースのページサイズ
:ODS version|ディスク上のファイルフォーマットのバージョン
:Oldest transaction|完了していないトランザクションの中で最も古いもののID
:Oldest active|有効になっているトランザクションの中で最も古いもののID
:Next transaction|次のトランザクションに割り振るID&br;
※Oldest transactionとNext transactionの差が自動スイープ実行のトリガになります。
:Sequence number|ヘッダページのシーケンス番号
:Next connection ID|次のデータベース接続に対して割り振る番号
:Implementation ID|データベースが作成されたシステムのアーキテクチャ
|1|Apollo|2|Sun, HP 9000, IMP Delta, NeXT|
|3|Reserved|4|VMS|
|5|VAX Ultrix|6|Reserved|
|7|HP 900|8|OS/2,Windows NT,Novell|
|9|Reserved|10|RS 6000|
|11|Data General AViiON|12|HP MPE/XL|
|13|Silicon Graphics Iris|14|Reserved|
|15|DEC OSF/1|16|Windows 32bit|
|17|OS/2|18|Windows 16bit|
|19|Linux Intel|20|Linux SPARC|
:Shadow count|シャドウファイルの数
:Number of cache buffers|キャッシュ内のページバッファ数
:Next header page|次のヘッダページのID
:Database dialect|データベースのDIALECT(FBでは通常3以降)
:Creation date|作成日時
:Attributes|アトリビュート&br;
・force_write 強制書き込み可能であることを示す&br;
・no_reserve 古いデータのために領域が確保されていないことを示す&br;
・shutdown データベースが停止中であることを示す
:Database file sequence|マルチファイルデータベース構成に関する情報


**データベースログ情報 [#r8116831]
データベースサマリーのデータベースログ情報を表示します。詳しい解説は未発見。


**データページ情報 [#fc50fe14]
データベースサマリーのデータページ情報を表示します。

:Primary pointer page|テーブルの最初のポインタページのページ番号
:Index root page|インデックスのルートのページ番号
:Data pages|データのページ数
:Data page slots|データベースページへのポインタ。ページがデータベースにあるかを示す
:Average fill:データページ内にデータが配置されている割合の平均
:Fill distribution|指定された率のデータで見たされたページの割合を示すヒストグラム

**インデックスページ情報 [#gc90005b]
データベースサマリーのインデックスページを表示します。

:Index|インデックス名
:Depth|インデックスページツリーの深さ
:Leaf buckets|インデックスページツリーのリーフ(最下層)のページ
:Nodes|ツリー内のインデックスページ総数
:Average data length|キーの平均バイト数
:Total dup|インデックスのコピーを持っている列の総数
:Max dup|最も多いインデックスコピー数
:Fill distribution|指定された率のデータで見たされたページの割合を示すヒストグラム

''※インデックスページツリーの深さが3を超える場合、ソートが効率的に行われません。その場合は、データベースのページサイズを増やしてみてください。ページサイズを増やしても深さが減らない場合は、ページサイズを元の値に戻した方が良いでしょう。''

**システム情報 [#x140bba4]
データベースのシステムテーブルの情報を表示します。

&br;&br;
----
&br;

&aname(isql);
*SQLによるクエリー isql [#n47366cc]
 コマンドラインによる SQL クエリーを行うツールです。対話モードでの実行や
コマンドをファイルを読込んでの実行が出来ます。テーブルの作成や参照、SQLの検証、
各種管理などに使用できます。~
 対話モードでは、SQL標準のコマンド以外に独自のコマンドもあります。

**コマンドライン [#l87fc5bd]
 対話モードでの場合は次のように、
 isql
 非対話モードの場合は次のようになります。
 isql [options] [database_name]
&br;
 対話モードや、非対話モードでの入力情報が足りない場合には、次のプロンプト
が出ますので、必要なコマンドなどを入力してください。
''入力が最終行の場合には、行の最後に終端文字(通常はセミコロン(;))が必要です。''~
 optionsは次のとおりです。
&br;

|>|~アカウント関係|
|-p[assword] password|操作するユーザーのパスワード|
|-r[ole] rolename|データベースの接続時にrolenameのロールをユーザーに与える|
|-u[ser] user|操作するユーザー名|
|>|~コマンド・結果の入出力関係|
|-e[cho]|実行前に文を表示します|
|-i[nput] file|ファイルからコマンドを読み込みます。&br;・入力ファイル中で-inputを使用すると、そこに別のファイルの内容を入力できます&br;・最初に指定したファイルが終わった後にコミットを行って終了します&br;・対話モードでも使用できます|
|-m[erge_stderr]|標準エラー出力(stderr)を標準出力(stdout)にマージします。シェルスクリプトなどから使用する場合に便利です|
|-o[utput] file|出力を、標準出力から指定ファイルにリダイレクトする。対話モードでも使用できる|
|-page[length] n|列ヘッダの出力間隔を、デフォルトの20行ごとから変更する|
|>|~コマンドの動作指定関係|
|-a|指定データベースに対して、全ての DDL(データ定義)文を抽出します|
|-d[atabase] name|-xと共に使用します。抽出するデータベースの名前をnameに変更します。このオプションの指定が無い場合、抽出した CREATE DATABASE 文はコメントとして取り出されます|
|-ex[tract]|-xと同じです|
|-x|指定されたデータベースに対して DDL を抽出します|
|>|~コマンドの動作設定関係|
|-c[ache] n|接続中のデータベースのキャッシュを設定します|
|-n[oauto]|DDL文の自動コミットをオフにする。デフォルトではDDL文は個別トランザクションで自動的にコミットされる|
|-q[uiet]|quietモード|
|-s[qldialect] n|セッション終了か SET SQL DIALECT 文で変更されるまで DIALECT を n に設定する。古いバージョン向けのSQLを動かす場合や、デバッグなどで使用する|
|-t[erminator] x|行の終端文字を x に変更します。xは文字もしくは文字列が使用できます|
|>|~その他|
|-z|isqlのバージョンを表示|


**対話モードのコマンド [#b674fe2c]
 次のような独自のコマンドがあります。

,BLOBDUMP ,SET BLOBDISPLAY,SHELL ,SHOW INDEX
,EDIT     ,SET COUNT,SHOW CHECK ,SHOW INDICES
,EXIT     ,SET ECHO ,SHOW DATABASE ,SHOW PROCEDURES
,HELP     ,SET LIST ,SHOW DOMAINS ,SHOW ROLES
,INPUT    ,SET NAMES ,SHOW EXCEPTIONS ,SHOW SYSTEM
,OUTPUT   ,SET PLAN ,SHOW FILTERS ,SHOW TABLES
,QUIT     ,SET STATS ,SHOW FUNCTIONS ,SHOW TRIGGERS
,SET      ,SET TERM ,SHOW GENERATORS ,SHOW VERSION
,SET AUTODDL ,SET TIME ,SHOW GRANT ,SHOW VIEWS
&br;
-BLOBDUMP
&br;
 BLOB の内容をファイルに出力します。

 BLOBDUMP blob_id filename;

-EDIT
&br;
 エディタを立ち上げてコマンドを編集した後に実行します。使用するエディタ
は EDITOR 環境変数で指定します。指定が無い場合、Windows ではメモ帳が、
UNIX では vi が起動します。

 EDIT [filename];

-EXIT
&br;
 トランザクションをコミットして isql を終了します。

 EXIT;

-HELP
&br;
 ヘルプを表示します。

 HELP;

-INPUT
&br;
 コマンド列を指定したファイルから読込んで実行します。

 INPUT filename;

-OUTPUT
&br;
 実行結果を指定したファイルに出力します。ファイルの指定が無い場合は、
標準出力に出力されます。

 OUTPUT [filename];

-QUIT
&br;
 トランザクションをロールバックして isql を終了します。

 QUIT;

-SET
&br;
 セッションをコントロールする各 SET コマンドのステータスを出力します。

 SET;

-SHELL
&br;
 シェルでコマンドを実行します。コマンドを省略すると、シェルが子プロセスで
立ち上がります。

 SHELL [os_command];

-SET AUTODDL
&br;
 DDL 文を実行後に自動コミットを行うか指定します。デフォルトはONです。
 SET AUTODDL [ON | OFF];

-SET BLOBDISPLAY
&br;
 表示する BLOB データのサブタイプを指定します。デフォルトはテキスト(1指定)です。
 SET BLOBDISPLAY [ n | ALL | OFF];
|n|サブタイプを整数で指定。例として、0は未知、1はテキストを示す|
|ALL|全サブタイプを表示する|
|OFF|全サブタイプの表示を抑制する|

-SET COUNT
&br;
 クエリ実行で取得された行の数を出力するかを指定します。デフォルトはOFFです。
 SET COUNT [ON | OFF];

-SET ECHO
&br;
 実行コマンドを表示するかどうかを指定します。デフォルトはONです。
 SET ECHO [ON | OFF];


-SET LIST
&br;
 結果の出力をリスト形式で行うかを指定します。デフォルトはOFFで表形式で出力されます。
 SET LIST [ON | OFF];

-SET NAMES
&br;
 データベーストランザクションで使用するキャラクタセットを指定します。
デフォルトは NONE です。
 SET NAMES [charset];

-SET PLAN
&br;
 クエリオプティマイザのプランを表示するか指定します。デフォルトはOFFです。

 SET PLAN [ON | OFF];

※ON/OFFを省略すると、現在のモードから他方に切り替わります(スイッチ動作)。
トラブル防止のためには明示的に指定することが望ましいです。

-SET STATS
&br;
 クエリ実行後に、動作に関する各種情報を表示するかを指定します。デフォルトは OFF です。
 SET STATS [ON | OFF];

-SET TERM
&br;
 コマンドの終端文字(デフォルトはセミコロン)を設定します。
 SET TERM string;

-SET TIME
&br;
 DATE型の表示を行うときに、時間を表示するかどうかを指定します。デフォルトは OFF です。
 SET TIME [ON | OFF];

-SHOW CHECK
&br;
 テーブルに設定された CHECK 制約を全て表示します。
 SHOW CHECK table;

-SHOW DATABASE
&br;
 現在のデータベースの情報を表示します。

 SHOW [DATABASE | DB];


-SHOW DOMAINS
&br;
 現在のドメイン情報を表示します。nameの指定を行わないと、既存のドメイン情報
を一覧で表示します。指定有り無しで微妙につづりが違うので要注意です。

 SHOW {DOMAINS | DOMAIN name};

-SHOW EXCEPTIONS
&br;
 例外(EXCEPTION)の情報を表示します。nameを指定しないと、全ての例外を一覧表示します。
指定有り無しで微妙につづりが違うので要注意です。

 SHOW {EXCEPTIONS | EXCEPTION name};

-SHOW FILTERS
&br;
 BLOBフィルタの情報を表示します。nameを指定しないと、一覧表示をします。
指定有り無しで微妙につづりが違うので要注意です。

 SHOW {FILTERS | FILTER name};

-SHOW FUNCTIONS
&br;
 UDFの情報を表示します。nameを指定しないと、一覧表示をします。指定するとより詳細な
情報を表示します。指定有り無しで微妙につづりが違うので要注意です。

 SHOW {FUNCTIONS | FUNCTION name};

-SHOW GENERATORS
&br;
 ジェネレータの情報を表示します。nameを指定しないと、一覧表示をします。
指定有り無しで微妙につづりが違うので要注意です。

 SHOW {GENERATORS | GENERATOR name};

-SHOW GRANT
&br;
 データベースオブジェクトの権限を表示します。
objectは、テーブル・ビュー・プロシージャの名前です。

 SHOW GRANT object;

-SHOW INDEX または SHOW INDICES
&br;
 インデックスを表示します。indexやtableを指定しないと、一覧表示をします。
指定有り無しで微妙につづりが違うので要注意です。

 SHOW {INDICES | INDEX { index | table} };


-SHOW PROCEDURES
&br;
 プロシージャの情報を表示します。nameを指定しないと、一覧表示をします。指定するとより
詳細な情報を表示します。指定有り無しで微妙につづりが違うので要注意です。

 SHOW {PROCEDURES | PROCEDURE name};

-SHOW ROLES
&br;
 現在のデータベースの全ロールを表示します。

 SHOW {ROLES | ROLE}

-SHOW SYSTEM
&br;
 現在のデータベースのシステム情報テーブルやビューの名前を表示します。

 SHOW SYSTEM [TABLES];

-SHOW TABLES
&br;
 テーブルの情報を表示します。nameを指定しないと、一覧表示をします。指定するとより
詳細な情報を表示します。指定有り無しで微妙につづりが違うので要注意です。

 SHOW {TABLES | TABLE name};

-SHOW TRIGGERS
&br;
 トリガの情報を表示します。nameを指定しないと、一覧表示をします。指定するとより
詳細な情報を表示します。指定有り無しで微妙につづりが違うので要注意です。

 SHOW {TRIGGERS | TRIGGER name};

-SHOW VERSION
&br;
 データベースソフトやisqlのバージョンを表示します。

 SHOW VERSION;

-SHOW VIEWS
&br;
 トリガの情報を表示します。nameを指定しないと、一覧表示をします。
指定有り無しで微妙につづりが違うので要注意です。

 SHOW {VIEWS | VIEW name};