高速トランザクション処理基盤 TP1/EE/Extended Data Cache 使用の手引
機能
標準入力やファイルから,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ごとに自動的にコミットされます。
SQL以外にも,次の表に示すeexdbsqlのサブコマンドを実行できます。
表10-8 eexdbsqlのサブコマンド一覧
| 項番 | コマンド機能 | 概要 | 参照先 |
|---|---|---|---|
| 1 | #COMMENT | 行を注釈にします。 | eexdbsqlのサブコマンドの詳細 |
| 2 | #EXIT | eexdbsqlコマンドを終了します。 | |
| 3 | #SET DUMPMODE | 検索結果を16進形式で表示します。 | |
| 4 | #SET OPT REPORT | インデクス情報,作業表情報を表示します。 |
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" FROM "T1"; #EXIT; |
SQLおよびサブコマンドの終了指定
1行の最後にセミコロン(;)がある場合,セミコロンの前までがSQLおよびサブコマンドと見なされます。セミコロン以降は,コメントとして扱われます。セミコロンがない場合は,次の行に継続しているものとして扱われます。行を連結する場合,改行記号を削除して連結されます。
実行例を次に示します。
(例)
SELECT "C1", (継続) "C2" (継続) FROM "T1"; (SQL文の終了) |
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; SELECT * FROM "T1" WHERE C1=100 ORDER BY C2; KFSB96104-I The index "IX#T1C1" of table "XDBUSER"."T1" will be used. KFSB96105-I Executing this SQL will create 1 work tables. |
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"; (1) EXP C1 ----- --------------- (2) C1 = -123456789.1234 (3) C1 = *************** (4) KFSB96103-I 2 rows were selected. |
表10-10 各データ型の文字形式
| 項番 | データ型 | 内容※ |
|---|---|---|
| 1 | 数データ | 各データ型の定数形式(符号,およびピリオドを含みます) |
| 2 | 文字データ | 各データ型の定数形式からアポストロフィ(')を除いたもの(ただし,表示できない文字はコロン(:)で表示します) |
| 3 | 日時データ | 定数形式のアポストロフィ(')で囲まれた部分 |
| 4 | 行IDデータ | 16進形式 |
■SELECT文以外の操作系SQLの場合
SELECT文以外の操作系SQLを実行すると,DELETE文,INSERT文,およびUPDATE文によって次のように操作行数が表示されます。ただし,操作行数がオーバフローした場合は,アスタリスク(*)が三つ表示されます。
実行結果の例を次に示します。
■SELECT文以外の操作系SQLを実行したときの例
COMMAND ? +----2----+----3----+----4----+----5----+----6----+----7----+
DELETE FROM "T1" WHERE "C1"=0;
KFSB96103-I 1 rows were deleted.
COMMAND ? +----2----+----3----+----4----+----5----+----6----+----7----+
INSERT INTO "T1"("C1","C2") VALUES(+1520.34,'abc');
KFSB96103-I 1 rows were inserted.
COMMAND ? +----2----+----3----+----4----+----5----+----6----+----7----+
UPDATE "T1" SET "C1"=0 WHERE "C1"<0;
KFSB96103-I 2 rows were updated.
|
文字コードに関する注意事項
文字コードに関する注意事項を次に示します。
リターンコード
eexdbsqlコマンドのリターンコードを次に示します。
0:正常終了
4:異常終了
All Rights Reserved. Copyright (C) 2008, Hitachi, Ltd.