eexdbsql(SQLの実行)
機能
標準入力やファイルから,SQLまたはeexdbsqlのサブコマンドを入力し,その実行結果を標準出力またはファイルに出力します。このコマンドを利用すると,会話形式でSQLを実行できます。
なお,このコマンドを終了する場合は,eexdbsqlのサブコマンドの#EXITを実行してください。
コマンドの形式
eexdbsql -g サービスグループ名
〔-V〕
〔-o 出力ファイル名〕
〔-r コマンド処理打ち切り時間〕
オプションの説明
●-g サービスグループ名
●-V
●-o 出力ファイル名
表10-6 -Vオプションと-oオプションの違い
項番 | -Vオプションの場合 | -oオプションの場合 |
---|---|---|
1 |
|
|
2 | 出力できる実行結果の上限が60キロバイトになります。 | 出力できる実行結果の上限はありません。 |
●-r コマンド処理打ち切り時間
実行できるSQLおよびサブコマンド
実行できるSQLおよびサブコマンドについて説明します。
■実行できるSQL
指定できるSQLを次の表に示します。
表10-7 指定できるSQL
項番 | SQL種別 | SQL | 内容 |
---|---|---|---|
1 | 操作系SQL | DELETE文 | 行を削除します。 |
2 | INSERT文 | 行を挿入します。 | |
3 | SELECT文 | 行を検索します。 | |
4 | UPDATE文 | 行を更新します。 |
なお,SQLを実行すると,1SQLごとに自動的にコミットされます。
■実行できるeexdbsqlのサブコマンド
SQL以外にも,次の表に示すeexdbsqlのサブコマンドを実行できます。
表10-8 eexdbsqlのサブコマンド一覧
項番 | コマンド機能 | 概要 | 参照先 |
---|---|---|---|
1 | #COMMENT | 行を注釈にします。 | eexdbsqlのサブコマンドの詳細 |
2 | #EXIT | eexdbsqlコマンドを終了します。 | |
3 | #SET DUMPMODE | 検索結果を16進形式で表示します。 | |
4 | #SET OPT REPORT | インデクス情報,作業表情報を表示します。 |
SQLおよびサブコマンドの入力方法
SQLおよびサブコマンドは,標準入力から入力する方法と,ファイルから入力する方法があります。
■標準入力からの入力する場合
eexdbsqlコマンドを実行すると,コマンド入力待ちの状態になるため,SQLおよびサブコマンドを入力します。コマンド入力待ちの状態になると,プロンプトが表示されます。プロンプトは入力する状況によって表示形式が変わります。プロンプトの表示形式を次の表に示します。
表10-9 プロンプトの表示形式
項番 | プロンプトの表示形式 | 説明 |
---|---|---|
1 | COMMAND ? | 通常の入力待ちであることを示します。 |
2 | NEXT ? | 継続行の入力待ちであることを示します。 |
それぞれのSQLおよびサブコマンド,およびデータの最後にはセミコロン(;)を指定してください。eexdbsqlコマンドを終了するには,#EXITコマンドを入力してください。
■ファイルから入力する場合
実行するSQLおよびサブコマンドをあらかじめファイルに記述して,リダイレクションを利用して入力します。
改行コードには,X'0A'を使用してください。SQLおよびサブコマンド中に,X'00'~X'1F'のコードを指定した場合は,eexdbsqlコマンドがそのコードを空白に置き換えます。
ファイル中に#EXITを記述していない場合,または#EXITの記述の前にEOF制御文字を含む場合は,eexdbsqlコマンドが終了処理を行います。
実行例を次に示します。
(例)
eexdbsql -g srvl -V < infile |
<infileの記述内容>
SELECT "C1","C2" |
SQLおよびサブコマンドの終了指定
1行の最後にセミコロン(;)がある場合,セミコロンの前までがSQLおよびサブコマンドと見なされます。セミコロン以降は,コメントとして扱われます。セミコロンがない場合は,次の行に継続しているものとして扱われます。行を連結する場合,改行記号を削除して連結されます。
実行例を次に示します。
(例)
SELECT "C1", (継続) |
eexdbsqlのサブコマンドの詳細
eexdbsqlのサブコマンドの詳細について説明します。
■#COMMENT(注釈)
#COMMENT 注釈 |
■#EXIT(eexdbsqlコマンドの終了)
#EXIT |
■#SET DUMPMODE(検索結果の16進形式での表示)
#SET DUMPMODE {ON|OFF} |
■#SET OPT REPORT(インデクス情報,作業表情報の表示)
#SET OPT REPORT {ON|OFF} |
#SET OPT REPORT ON; |
SQLおよびサブコマンドの実行結果の出力方法
SQLおよびサブコマンドの実行結果の出力方法を説明します。
■標準出力に出力する場合
SQLおよびサブコマンドの結果は,eexdbsqlコマンドを実行した標準出力に表示されます。
標準出力には,SQLの実行結果を最大で60キロバイトまでしか出力できません。それ以上の実行結果が必要な場合は,-oオプションを使用して出力ファイルを指定してください。
■ファイルに出力する場合
リダイレクトや-oオプションの指定などによって,標準出力の出力先をファイルに変更できます。
実行例を次に示します。
(例)
eexdbsql -g srvl -V | tee outlog |
-oオプションの実行例を次に示します。
(例)
eexdbsql -g srvl -o outlog |
実行結果の出力形式
SQLの実行結果の出力形式を次に示します。
■SELECT文の場合
SELECT文を実行したときの,実行結果の例を次に示します。
SELECT 'C1 = ',"C1" FROM "T1"; |
表10-10 各データ型の文字形式
項番 | データ型 | 内容※ |
---|---|---|
1 | 数データ | 各データ型の定数形式(符号,およびピリオドを含みます) |
2 | 文字データ | 各データ型の定数形式からアポストロフィ(')を除いたもの(ただし,表示できない文字はコロン(:)で表示します) |
3 | 日時データ | 定数形式のアポストロフィ(')で囲まれた部分 |
4 | 行IDデータ | 16進形式 |
■SELECT文以外の操作系SQLの場合
SELECT文以外の操作系SQLを実行すると,DELETE文,INSERT文,およびUPDATE文によって次のように操作行数が表示されます。ただし,操作行数がオーバフローした場合は,アスタリスク(*)が三つ表示されます。
実行結果の例を次に示します。
■SELECT文以外の操作系SQLを実行したときの例
COMMAND ? +----2----+----3----+----4----+----5----+----6----+----7----+ |
文字コードに関する注意事項
文字コードに関する注意事項を次に示します。
リターンコード
eexdbsqlコマンドのリターンコードを次に示します。
0:正常終了
4:異常終了