R-F18427-117J HiRDB SQL Executer 08-09-04 R-F1M427-117 HiRDB SQL Executer 08-09-04 R-F19428-317 HiRDB SQL Executer 08-09-04 R-F19428-417 HiRDB SQL Executer 08-09 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 会話型SQL実行プログラム ( HiRDB SQL Executer ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 記載項目 ( 1 ) 機能概要 ( 2 ) 実行者 ( 3 ) 形式 ( 4 ) オプション ( 5 ) 説明 ( 6 ) 環境変数の設定 ( 7 ) 実行できるSQL及びSQL文の終了指定 ( 8 ) pdsqlコマンド ( 9 ) 戻り値(リターンコード) ( 10 ) 規則 ( 11 ) 規則に関する留意事項 ( 12 ) トラブルシュート 付録A.pdsqlコマンド詳細 付録B.メッセージ 付録C.?パラメタを使用したデータの入力 付録D.XDM/RD E2接続 付録E.SQL予約語削除機能による影響 ----------------------------------------------------------------------- ■ 対象製品 R-F18427-117J HiRDB SQL Executer 08-09-04 (適用OS:HP-UX 11i V2 (IPF),HP-UX 11i V3 (IPF)) R-F1M427-117 HiRDB SQL Executer 08-09-04 (適用OS:AIX 5L V5.1,AIX 5L V5.2,AIX 5L V5.3,AIX V6.1,AIX V7.1,AIX V7.2) R-F19428-317 HiRDB SQL Executer 08-09-04 (適用OS:Red Hat Enterprise Linux Server 6 (32-bit x86),Red Hat Enterprise Linux Server 6 (64-bit x86_64),Red Hat Enterprise Linux Server 7 (64-bit x86_64)) R-F19428-417 HiRDB SQL Executer 08-09 (適用OS:Red Hat Enterprise Linux Server 7 (64-bit x86_64),Red Hat Enterprise Linux Server 8 (64-bit x86_64)) ■ 輸出時の注意 本製品を輸出される場合には,外国為替及び外国貿易法の規制並びに米国輸出管理規則 など外国の輸出関連法規をご確認の上,必要な手続きをお取りください。 なお,不明な場合は,弊社担当営業にお問い合わせください。 ■ 商標類 ・HITACHI,HiRDB,XDMは,株式会社 日立製作所の商標または登録商標です。 ・Itaniumは,アメリカ合衆国および / またはその他の国における Intel Corporation の商標です。 ・IBM,AIXおよびAIX 5Lは,世界の多くの国で登録されたInternational Business Machines Corporationの商標です。 ・Linuxは,Linus Torvalds氏の日本およびその他の国における登録商標または商標です。 ・Red Hat, and Red Hat Enterprise Linux are registered trademarks of Red Hat, Inc. in the United States and other countries. Linux(R) is the registered trademark of Linus Torvalds in the U.S. and other countries. ・UNIXは,The Open Groupの米国ならびに他の国における登録商標です。 ・Windowsは,米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。 ・その他記載の会社名,製品名などは,それぞれの会社の商標もしくは登録商標です。 ■ 発行 2019年11月 ■ 著作権 All Rights Reserved. Copyright (C) 2000, 2019, Hitachi, Ltd. All Rights Reserved. Copyright (C) 2000, 2019, Hitachi Solutions, Ltd. ----------------------------------------------------------------------- ( 1 ) 機能概要 HiRDB SQL Executerは、HiRDBデータベースに対して会話形式でSQLを 実行させることができる会話型SQL実行プログラムです。 標準入力やファイルから入力したSQLを実行し、その実行結果を標準出 力やファイルに出力します。 ( 2 ) 実行者 HiRDBの接続権限をもつユーザが実行できます。 ただし、実行するSQLによっては、さらに上位の権限が必要になります。 ( 3 ) 形式 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ ┃ ┃ pdsql [-u 認可識別子[/パスワード]] ┃ ┃ [-h ホスト名] [-n ポート番号] ┃ ┃ ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ( 4 ) オプション ● -u 認可識別子[/パスワード ] 本プログラムを実行するユーザの認可識別子を指定します。このオプショ ンで認可識別子のみ指定した場合、パスワード入力要求の応答付きメッセ ージが表示されます。また、認可識別子/パスワードを指定した場合は、 指定した値を認可識別子とパスワードとして仮定します。 この、オプションは、シェルで&を付けてバックグラウンドで実行する場 合や、リモートシェルなどの応答できない環境では指定しないでください。 なお、このオプションを省略した場合、次の方法で認可識別子/パスワー ドが仮定されます。 ・本プログラムで実行時の環境変数PDUSERの設定値を使用します。 シェルで&を付けてバックグラウンドで実行する場合や、リモートシェル 環境で実行する場合など、パスワードの応答ができない環境で実行する ときは、PDUSERを必ず設定してください。 ・環境変数PDUSERが設定されていない場合、ログインしているユーザ名 が仮定されます。パスワードについては、入力要求の応答付きメッセー ジが表示されるので、そこで応答してください。 -uオプションで指定する 認可識別子とパスワードを引用符(")で囲んだ 場合は、英大文字と英小文字が区別されます。引用符で囲まない場合は、 すべて英大文字として扱われます。なお、sh(ボーンシェル)、csh (Cシェル)、及びksh(Kシェル)などの場合は、更にアポストロフィ(')で 囲む必要があります。 ● -h ホスト名 接続するHiRDBシステムのホスト名を指定します。このオプションを省略 した場合、環境変数 PDHOST の設定値を使用します。 ● -n ポート番号 接続するHiRDBシステムのポート番号を指定します。このオプションを省 略した場合、環境変数 PDNAMEPORT の設定値を使用します。 [オプションの指定例] ・-uを指定する場合 pdsql -u user1≪Enter≫ <-パスワード入力要求が表示される password1≪Enter≫(*1) <-コマンド入力待ちとなる ・sh(ボーンシェル)、csh(Cシェル)、ksh(Kシェル)などで -uに英小文字の認可識別子およびパスワードを指定する場合 pdsql -u '"user1"'≪Enter≫ <-パスワード入力要求が表示される "password1"≪Enter≫(*1) <-コマンド入力待ちとなる ・-uを指定せず、環境変数PDUSERが設定されている場合 pdsql≪Enter≫(PDUSERに設定されている認可識別子/パスワード が使用される。) <-コマンド入力待ちとなる ・-uを指定せず、環境変数PDUSERも設定されていない場合 pdsql≪Enter≫(ログインウインドウのユーザ名が認可識別子とし て使用される。) <-パスワード入力要求が表示される password1≪Enter≫(*1) <-コマンド入力待ちとなる *1:パスワード入力中は非表示になります。 ( 5 ) 説明 本プログラムの起動後に、実行するSQL、pdsqlコマンドを記述します。 実行するSQL、pdsqlコマンドは、標準入力から入力する方法と、 ファイルから入力する方法があります。 [標準入力から入力する場合] 本プログラムが起動すると入力待ちになりますので、SQL・pdsqlコマン ドを入力します。入力待ちになるとプロンプトが表示されます。プロン プトは入力する状況により表示形式が変わります。 ・COMMAND ? :通常の入力待ちであることを示します。 ・NEXT ? :継続行の入力待ちであることを示します。 ・BLOCK(n) ? :BLOCK/ITERATE文中の入力待ちであることを示します ・DATA(n) ? :?パラメタに対する値の入力待ちであることを示します。 ?パラメタに対する値の入力については、 「付録C.?パラメタを使用したデータの入力」を参照のこと。 それぞれのSQL、pdsqlコマンドおよび?パラメタに対する値の最後には セミコロン(;)を指定してください。本プログラムを終了するには、 (コントロール)+(D)を押すか、EXITコマンドを入力して ください。 [ファイルから入力する場合] あらかじめファイルに実行するSQLを作成しておいて、リダイレクション によって標準入力の入力元をファイルに変更します。 (例) pdsql < infile infileの記述内容 ┏━━━━━━━━━━━━┓ ┃ SELECT C1,C2 FROM T1; ┃ ┃ ・ ┃ ┃ ・ ┃ ┃ EXIT; ┃ ┗━━━━━━━━━━━━┛ 【検索結果の表示内容】 ここで説明する検索結果とは、SELECT文の検索結果、CALL文または GET DIAGNOSTICS文の出力パラメタ、及びCALL文の結果集合を指します。 検索結果は表示形式によって表示内容が変化します。 表示形式は、16進形式と文字形式があり、初期値は文字形式です。 表示形式は、SET DUMPMODEコマンドまたは環境変数PDUAPDUMPにて 変更することができます。 検索結果が存在するときは、先頭に列名を表示します。 表示する列名の規則については、マニュアル「HiRDB UAP開発ガイド」の 「付録C 列名記述領域」にある「表C-1 列名記述領域の内容」 を参照してください。 ここでは文字形式の表示内容において、各データ型に対する列の 表示領域の長さを表5-1に、データの表示形式を表5-2に示します。 表5-1 表示領域の長さ(文字形式) ┌────────────┬──────────────────┐ │データ型 │表示領域の長さ[カラム](*1) │ ├────────────┼──────────────────┤ │ROW │各列のバイト数の合計 │ │INTERVAL YEAR TO SECOND │16+位取り │ │INTERVAL YEAR TO DAY │10 │ │INTERVAL HOUR TO SECOND │8+位取り │ │DATE │10 │ │TIME │8(位取りがある場合は、9+位取り) │ │TIMESTAMP │19(位取りがある場合は、20+位取り) │ │BINARY │最大格納バイト数(*2) │ │BLOB │最大格納バイト数(*2) │ │CLOB │最大格納バイト数(*2) │ │MVARCHAR │最大格納バイト数(*2) │ │MCHAR │格納バイト数(*2) │ │NVARCHAR │最大格納文字数の倍(*2) │ │NCHAR │格納文字数の倍(*2) │ │VARCHAR │最大格納バイト数(*2) │ │CHAR │格納バイト数(*2) │ │FLOAT │23 │ │SMALLFLT │23 │ │DECIMAL │精度+2 │ │INTEGER │12 │ │SMALLINT │6 │ └────────────┴──────────────────┘ *1)表示領域の長さ<列名長のときは、列名長に長さを合わせます。 *2)SET xxxx LIMITコマンドにより、長さを短くすることができます。 表5-2 データ表示形式 ┌───────┬───────────────────────┐ │データ型 │データ表示形式(*1) │ ├───────┼───────────────────────┤ │ROW │・文字列形式で出力します。 │ │ │・データ中に表示不可文字(ナル文字など ASCII │ │ │ コード0x00〜0x1F)がある場合、表示不可文字を │ │ │ コロン(:)に変換します。 │ │ │・0バイト長の場合、何も出力しません。 │ │ │ │ │INTERVAL YEAR │・数値[-]yyyymmddhhmmss.[nnnnnn]の形式の右詰 │ │ TO SECOND│ で出力します。 │ │ │・マイナスは、"−"符号を付けます。 │ │ │・小数点以下はデータの定義長に依存します。 │ │ │ │ │INTERVAL YEAR │・数値[-]yyyymmdd.の形式の右詰で出力します。 │ │ TO DAY │・マイナスは、"−"符号を付けます。 │ │ │ │ │INTERVAL HOUR │・数値[-]hhmmss.[nnnnnn]の形式の右詰 │ │ TO SECOND│ で出力します。 │ │ │・マイナスは、"−"符号を付けます。 │ │ │・小数点以下はデータの定義長に依存します。 │ │ │ │ │DATE │・文字列yyyy-mm-ddの形式で出力します。 │ │ │ │ │TIME │・文字列hh:mm:ss[.nnnnnn]の形式で出力します。 │ │ │・小数点以下はデータの定義長に依存します。 │ │ │ │ │TIMESTAMP │・文字列yyyy-mm-dd△hh:mm:ss[.nnnnnn]の形式で │ │ │ 出力します。(*2) │ │ │・小数点以下はデータの定義長に依存します。 │ │ │ │ │BINARY 及び│・文字列形式で出力します。 │ │BLOB 及び│・データ中に表示不可文字(ナル文字など ASCII │ │CLOB 及び│ コード0x00〜0x1F)がある場合、表示不可文字を │ │MVARCHAR 及び│ コロン(:)に変換します。 │ │MCHAR 及び│・0バイト長の場合、何も出力しません。 │ │NVARCHAR 及び│ │ │NCHAR 及び│ │ │VARCHAR 及び│ │ │CHAR │ │ │ │ │ │FLOAT 及び│・仮数部E指数部で構成します。 │ │SMALLFLT │ (*3) │ │ │ │ │DECIMAL │・符号部、整数部、小数点、小数部で構成します。│ │ │・正の値のときは、符号部が空白です。 │ │ │ 負の値のときは、符号部が"−"符号です。 │ │ │・整数部、小数部ともに検索列のデータ型から求め│ │ │ られる桁数を10進文字列として出力します。 │ │ │ 値が桁数に満たないときは文字0を埋めて │ │ │ 出力します。 │ │ │ │ │INTEGER 及び│・数値を10進文字列として右詰で出力します。 │ │SMALLINT │・負の値のときは、10進文字列の直前に"−" │ │ │ 符号を出力します。 │ └───────┴───────────────────────┘ *1)ROWを除くデータ型において、データがナル値の場合、列の表示領域 長分のナル値表示文字(初期値:アスタリスク(0x2A))を表示します。 *2)△は半角スペースを表します。 *3)指数部が2桁以内で表現可能な値のときは、プラットフォームにより 出力形式が異なります。 Windows、Windows IPF: 符号を除く指数部を3桁の10進文字列で表現します。 上記以外:符号を除く指数部を2桁の10進文字列で表現します。 ( 6 ) 環境変数の設定 本プログラムを実行するためには、共用ライブラリを検索するディレクト リを指定する環境変数とクライアント環境定義の設定が必要です。 共用ライブラリを検索するディレクトリを指定する環境変数はプラット フォームごとに環境変数名が異なります。 【HP-UX(IPF)の場合】SHLIB_PATH 【AIXの場合】 LIBPATH 【Linuxの場合】 LD_LIBRARY_PATH 共用ライブラリを検索するディレクトリを指定する環境変数については、 マニュアル「HiRDB UAP開発ガイド」の「SHLIB_PATHについての注意事項」 を参照してください。 クライアント環境定義の設定については、マニュアル 「HiRDB UAP開発ガイド」の「クライアント環境定義(環境変数の設定)」 を参照してください。 HiRDB SQL Executer独自の環境変数を設定して本プログラムのデフォルト 動作の設定をすることができます。 下記にHiRDB SQL Executer独自の環境変数を示します。 下記に示すすべての環境変数において、指定可能な値以外を設定したと きは、[設定がない場合]と同じ動作をします。 (a)PDUAPAUTOCOMMIT SQL実行後、自動的にコミットを発行するかどうかを設定します。 ON :自動的にコミットを発行します。 OFF :自動的にコミットを発行しません。 設定がない場合はONが仮定されます。 本プログラムが実行中に設定した値を変更したい場合は、 pdsqlコマンドのSET AUTO COMMITを実行してください。 (b)PDUAPDUMP 検索結果の表示形式を設定します。 ON :検索結果を16進形式で表示します。 OFF :検索結果を文字形式で表示します。 設定がない場合はOFFが仮定されます。 本プログラムが実行中に設定した値を変更したい場合は、 pdsqlコマンドのSET DUMPMODEを実行してください。 (c)PDUAPPTFNULL PUTFILEコマンドのDAT形式出力および拡張DAT形式出力における NULLデータの扱いを設定します。 ON :何も出力しません。 OFF :*を出力します。 設定がない場合はOFFが仮定されます。 本設定により影響を受けないデータ型を以下に示します。 CHARACTER、VARCHAR、NCHAR、NVARCHAR、MCHAR、MVARCHAR、BINARY (d)PDSQLBINARYLIMIT 入出力できるBINARY型のデータの長さを制限します。 0 :定義長に従います。 1〜2147483647 :指定した値に制限します。 設定がない場合は0が仮定されます。 本プログラムが実行中に設定した値を変更したい場合は、 pdsqlコマンドのSET BINARY LIMITを実行してください。 (e)PDSQLBLOBLIMIT 入出力できるBLOB型のデータの長さを制限します。 0 :定義長に従います。 1〜2147483647 :指定した値に制限します。 設定がない場合は0が仮定されます。 本プログラムが実行中に設定した値を変更したい場合は、 pdsqlコマンドのSET BLOB LIMITを実行してください。 (f)PDSQLCLOBLIMIT 入出力できるCLOB型のデータの長さを制限します。 0 :定義長に従います。 1〜2147483647 :指定した値に制限します。 設定がない場合は0が仮定されます。 本プログラムが実行中に設定した値を変更したい場合は、 pdsqlコマンドのSET CLOB LIMITを実行してください。 (g)PDSQL_CHARCODE 本設定は、Windows、Windows(IPF)版においてのみ有効です。 起動用プログラム(PDSQLX.EXE,PDSQLWX.EXE,PDSQLWX8.EXE)で 起動するプログラムを設定します。 SJIS :SJIS版(PDSQL.EXE,PDSQLW.EXE,PDSQLW8.EXE)を起動します。 UNICODE :Unicode版(PDSQLU.EXE,PDSQLWU.EXE,PDSQLWU8.EXE)を 起動します。 PDSQL_CHARCODEが設定されていない場合は、クライアント環境定義の PDCLTCNVMODE(環境変数、又はHIRDB.INI)を参照し、起動するプログラム を設定します。 PDCLTCNVMODEの設定値が「UCS2」で始まる文字列のとき: Unicode版を起動します。 PDCLTCNVMODEの設定値が上記以外のとき: SJIS版を起動します。 PDSQL_CHARCODEとPDCLTCNVMODEがどちらも設定されていない場合は、 起動用プログラムは常にSJIS版を起動します。 (h)PDSQL_SPLITSIZE BINARY/BLOB/CLOB型の分割取得するサイズを指定します。 0 :分割取得を行いません。 4〜2097152 :指定した値(キロバイト単位)にて分割取得します。 設定がない場合は0が仮定されます。 本プログラムが実行中に設定した値を変更したい場合は、 pdsqlコマンドのSET SPLIT SIZEを実行してください。 (i)PDSQL_CONVSPACE SQL文、pdsqlコマンドの文字列中の改行(NL(X'0a')、CR(X'0d'))を 除く制御文字コード(0x01〜0x1F)を半角空白に変換するかどうかを 設定します。 ON :制御文字コードを半角空白に変換します。 OFF :制御文字コードを変換しません。 設定がない場合はOFFが仮定されます。 本プログラムが実行中に設定した値を変更したい場合は、 pdsqlコマンドのSET CONVSPACEを実行してください。 (j)PDSQL_EXEC_SEMICOLON_ENTER セミコロンと実行契機の関係を指定します。 本環境変数は、コマンドライン版での入力および、ファイルから コマンド、SQLを入力するときに有効となります。 YES 又は 0:囲み注釈の開始(/*)後、セミコロンと改行文字(※1)が 連続して記述されたときにSQL文を実行します。 NO 又は 1:囲み注釈の開始(/*)後、セミコロンと改行文字(※1)が 連続して記述されたときにSQL文を実行しません。 セミコロンを囲み注釈中の文字とみなします。 継続する文の入力を待ちます。 2 :囲み注釈中でないセミコロンから行の終端(改行文字) までが囲み注釈のみであったときも、SQL文を実行します。 このときセミコロンから改行文字までの囲み注釈は サーバに送信しません。 設定がない場合はNOが仮定されます。 08-02以前はYESの動作をしていました。 例1:設定値が0と1の場合の比較 (入力) /*COM11*/SELECT * FROM T01/*COM12; SELECT * FROM T02/*COM22*/; 設定値が0(又はYES)のとき、1行目を入力終了した時点で、 下記に示す囲まれた部分@を実行します。 2行目を入力終了した時点でAを実行します。 ┌@─────────────────┐ │/*COM11*/SELECT * FROM T01/*COM12 │ └──────────────────┘ ┌A─────────────────┐ │SELECT * FROM T02/*COM22*/ │ └──────────────────┘ 設定値が1(又はNO)のとき、2行目を入力終了(改行入力)した時点で、 下記に示す囲まれた部分@を実行します。 ┌@─────────────────┐ │/*COM11*/SELECT * FROM T01/*COM12; │ │SELECT * FROM T02/*COM22*/ │ └──────────────────┘ 例2:設定値が1と2の場合の比較 (入力) /*COM11*/SELECT * FROM T01/*COM12*/;/*COM13*/ /*COM21*/SELECT * FROM T02/*COM22*/;/*COM23*/ /*COM31*/ /*COM41*/SELECT * FROM T04/*COM42*/ /*COM51*/WHERE C1 <200; 設定値が1(又はNO)のとき、5行目を入力終了(改行入力)した時点で、 下記に示す囲まれた部分@ABのSQLを実行します。 ┌@─────────────────┬A───── │/*COM11*/SELECT * FROM T01/*COM12*/ │/*COM13*/ └──────────────────┴────── ─A続き───────────────┬B───── /*COM21*/SELECT * FROM T02/*COM22*/ │/*COM23*/ ───────────────────┴────── ─B続き─────────────────────┐ /*COM31*/ │ /*COM41*/SELECT * FROM T04/*COM42*/ │ /*COM51*/WHERE C1 <200 │ ─────────────────────────┘ 設定値が2のとき、1行目を入力終了した時点で下記に示す囲まれた 部分@を実行します。2行目を入力終了した時点でAを実行します。 5行目を入力終了した時点でBを実行します。 ┌@─────────────────┐ │/*COM11*/SELECT * FROM T01/*COM12*/ │/*COM13*/ └──────────────────┘ ┌A─────────────────┐ │/*COM21*/SELECT * FROM T02/*COM22*/ │/*COM23*/ └──────────────────┘ ┌B───────────────────────┐ │/*COM31*/ │ │/*COM41*/SELECT * FROM T04/*COM42*/ │ │/*COM51*/WHERE C1 <200 │ └────────────────────────┘ ※1:CR(X'0d')+NL(X'0a')またはNL(X'0a')を改行文字 と解釈します。 (k)PDSQL_REMOVE_LINEFEED_CHARACTER SQL文、pdsqlコマンドの文字列中の改行文字(NL(X'0a')、CR(X'0d')) を取り除くかどうかを設定します。 ON :改行文字を取り除きます。 OFF :改行文字を取り除きません。 設定がない場合はOFFが仮定されます。 本プログラムが実行中に設定した値を変更したい場合は、 pdsqlコマンドのSET REMOVE LINEFEED CHARACTERを実行してください。 08-05以前はONの動作をしていました。 本設定をONにしたときの影響については、「( 10 ) 規則」および 「( 7 ) 実行できるSQL及びSQL文の終了指定」を参照してください。 (l)PDSQL_IDENT_QUOT TABLEINFコマンド、SEQINFコマンドにおいて 出力する名称の前後を二重引用符で囲むかどうかを設定します。 ON :名称の前後を二重引用符で囲んで出力します。 OFF :次の場合を除き、名称の前後を二重引用符で囲まずに出力します。 ・名称に英小文字が含まれる場合 設定がない場合はONが仮定されます。 08-05以前はOFFの動作をしていました。 (m)PDSQL_LANG HiRDB SQL Executer実行時の文字コード種別を設定します。 本環境変数は、検索結果を表形式で出力するにあたり、 列データの表示開始位置を決定するために使用しています。 設定できる値は表6-4のとおりです。 PDSQL_LANGを設定しない場合、表6-5 に示す文字コード種別 で動作します。 表6-5 に存在しない値を環境変数LC_CTYPE に指定するときは 必ずPDSQL_LANGを設定してください。 本設定は、HP-UX、AIX、Linux版においてのみ有効です。 表6-4 PDSQL_LANGの設定値に対する実行時の文字コード種別 ┏━━━━━┳━━━━━━━━━━━━━━━━━━┓ ┃PDSQL_LANG┃SQL Executer実行時の文字コード種別 ┃ ┣━━━━━╋━━━━━━━━━━━━━━━━━━┫ ┃SJIS ┃シフトJIS漢字コード ┃ ┠─────╂──────────────────┨ ┃EUC ┃EUC日本語漢字コード ┃ ┠─────╂──────────────────┨ ┃UTF8 ┃Unicode(UTF-8 又はIVS 対応UTF-8) ┃ ┗━━━━━┻━━━━━━━━━━━━━━━━━━┛ 注)EUCとUTF8はバージョン02-07以降で使用できます。 表6-5 環境変数LC_CTYPEの設定値に対する実行時の文字コード種別 ┏━━━┳━━━━━━┳━━━━━━━━━━━━━━━━━━┓ ┃OS ┃LC_CTYPE(注)┃SQL Executer実行時の文字コード種別 ┃ ┣━━━╋━━━━━━╋━━━━━━━━━━━━━━━━━━┫ ┃HP-UX ┃%.SJIS ┃シフトJIS漢字コード ┃ ┃ ┠──────╂──────────────────┨ ┃ ┃%.EUC ┃EUC日本語漢字コード ┃ ┃ ┃%.UJIS ┃ ┃ ┃ ┃%.eucJP ┃ ┃ ┃ ┠──────╂──────────────────┨ ┃ ┃%.utf8 ┃Unicode(UTF-8 又はIVS 対応UTF-8) ┃ ┠───╂──────╂──────────────────┨ ┃AIX ┃Ja_JP ┃シフトJIS漢字コード ┃ ┃ ┠──────╂──────────────────┨ ┃ ┃ja_JP ┃EUC日本語漢字コード ┃ ┃ ┠──────╂──────────────────┨ ┃ ┃JA_JP ┃Unicode(UTF-8 又はIVS 対応UTF-8) ┃ ┃ ┃JA_JP.UTF-8 ┃ ┃ ┠───╂──────╂──────────────────┨ ┃Linux ┃ja_JP.eucJP ┃EUC日本語漢字コード ┃ ┃ ┃ja_JP.SJIS ┃ ┃ ┃ ┃ja ┃ ┃ ┃ ┃ja_JP ┃ ┃ ┃ ┃ja_JP.ujis ┃ ┃ ┃ ┃japanese ┃ ┃ ┃ ┠──────╂──────────────────┨ ┃ ┃ja_JP.UTF-8 ┃Unicode(UTF-8 又はIVS 対応UTF-8) ┃ ┃ ┃ja_JP.utf8 ┃ ┃ ┗━━━┻━━━━━━┻━━━━━━━━━━━━━━━━━━┛ 注) % はピリオドを含まない任意の文字列を示します。 (n)PDSQL_BLANKLINE 会話形式で入出力をするにあたり表示内容(入力待ちプロンプト、 検索結果、メッセージなど)の区別をするために挿入しているすべての 空行の表示を、するかどうかを設定します。 ON :空行を表示します。 OFF :空行を表示しません。 設定がない場合はONが仮定されます。 本プログラムが実行中に設定した値を変更したい場合は、 pdsqlコマンドのSET BLANKLINEを実行してください。 (o)PDSQL_EXECTIME SQLを実行した際の実行時間を表示するかどうかを設定します。 OFF :実行時間を表示しません。 ELAPSED :SQL ExecuterがSQLの入力を受け付けてから結果を示す メッセージを表示するまでの時間を表示します。 DETAIL :ELAPSEDの出力に加えHiRDBでかかったSQLの実行時間を 表示します。 設定がない場合はOFFが仮定されます。 本プログラムが実行中に設定した値を変更したい場合は、 pdsqlコマンドのSET EXECTIMEを実行してください。 (p)PDSQL_DISPLAY 検索結果を表示するかどうかを設定します。 ALL : 検索結果、メッセージを出力します。 OFF : メッセージだけを出力します。 設定がない場合はALLが仮定されます。 (q)PDSQL_DISPLAYNOLINE コマンド入力のプロンプトを表示するかどうかを設定します。 YES : コマンド入力のプロンプトを表示しません。 NO : コマンド入力のプロンプトを表示します。 設定がない場合はNOが仮定されます。 (r)PDSQL_COMMANDPROMPT コマンド入力のプロンプトを表示するかどうかを設定します。 ON : コマンド入力のプロンプトを表示します。 OFF : コマンド入力のプロンプトを表示しません。 設定がない場合はONが仮定されます。 PDSQL_DISPLAYNOLINEとPDSQL_COMMANDPROMPTの両方を設定している場合は、 PDSQL_DISPLAYNOLINEの設定を無効とし、PDSQL_COMMANDPROMPTの設定を有効 とします。 (s)PDSQL_ANALYSIS_AUTOCOMMIT SQLの前処理だけを実行するモードのとき、自動的にコミットを発行する 設定(環境変数PDUAPAUTOCOMMITおよびSET AUTO COMMITコマンド)に依存 した動作とするかを設定します。 OFF :自動的にコミットを発行する設定に依存せず、SQLの前処理だけを 実行するモードでは自動的にコミットを発行しません。 設定がない場合は自動的にコミットを発行する設定に依存します。 変更前(Windows版08-05〜09-06-01、Linux/AIX/HP-UX版08-09)は OFFの動作をしていました。 本環境変数は、変更前バージョンから移行したときのみ設定してください。 設定をしていない場合、SQL実行毎に自動的にコミットを発行するため 変更前バージョンと比較し性能劣化する可能性があります。 (t)PDSQL_EXIT_ERROR_CHECK EXITコマンドを実行したときに、SQL Executerは SQL文のDISCONNECTを実行します。 SQL文のDISCONNECTがエラーであったときに、本環境変数において 以下の動作の切り替えを行なえます。 表6-1 EXITコマンド実行時においてSQL文のDISCONNECTが エラーであったときの動作 ┏━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃環境変数の値 ┃SQL文に対するエラーの表示 ┃プログラムの戻り値 ┃ ┣━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ ┃ON ┃表示する ┃エラーを示す値を設定する┃ ┠───────╂─────────────╂────────────┨ ┃OFF 又は未設定┃表示しない ┃変更しない ┃ ┗━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ 環境変数を設定していない状態且つ自動的にコミットを発行しない設定 において、操作系SQLを実行し、COMMITを行なわずにEXITコマンド を実行したときに、サーバ障害などが発生すると、暗黙的にROLLBACKと なりますが、エラーメッセージを表示せずにプログラムが終了するため、 ユーザはSQL Executerが正常終了したか異常終了したかの区別 ができません。 そのため、HiRDB SQL Executerを新規で利用する際は、ONを設定 することを推奨します。 (u)PDSQL_DISCONNECT_ERROR_CHECK DISCONNECTコマンドを実行したときに、SQL Executerは SQL文のDISCONNECTを実行します。 SQL文のDISCONNECTがエラーであったときに、本環境変数において 以下の動作の切り替えを行なえます。 表6-3 DISCONNECTコマンド実行時においてSQL文のDISCONNECTが エラーであったときの動作 ┏━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━┓ ┃環境変数の値 ┃SQL文に対するエラーの表示 ┃プログラムの戻り値 ┃ ┣━━━━━━━╋━━━━━━━━━━━━━╋━━━━━━━━━━━━┫ ┃ON ┃表示する ┃エラーを示す値を設定する┃ ┠───────╂─────────────╂────────────┨ ┃OFF 又は未設定┃表示する ┃変更しない ┃ ┗━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━━━┛ 環境変数を設定していない状態且つ自動的にコミットを発行しない設定 において、操作系SQLを実行し、COMMITを行なわずにDISCONNECTコマンド を実行したときに、サーバ障害などが発生すると、暗黙的にROLLBACKと なりますが、エラーをプログラムの戻り値に反映していないため、 バッチ処理などでSQL Executerの戻り値を参照して SQL Executerが正常終了したか異常終了したかの区別ができません。 そのため、HiRDB SQL Executerを新規で利用する際は、ONを設定 することを推奨します。 (v)PDSQL_WHENEVER_MESSAGE 例外制御指定において終了判定に該当するメッセージの表示有無を 設定します。 ON : 終了判定に該当するメッセージを表示します。 OFF : 終了判定に該当するメッセージを表示しません。 設定がない場合はOFFが仮定されます。 設定がない状態において、例外制御の終了指定をしたときに、 対象の例外が発生すると、対象のエラーメッセージを表示せずに 終了するため、プログラムがどういった原因で終了したのかを 判断できません。 そのため、HiRDB SQL Executerを新規で利用する際は、ONを設定 することを推奨します。 (w)PDSQL_GETFILE_BUFFER_BYTES 指定できる値の範囲:64〜204800 GETFILEコマンドで使用するバッファ領域の長さをキロバイト単位で 設定します。 入力データファイルに記述されている1行の長さのうち一番大きい長さ (改行文字を除く)が下記の値(既定の長さ)を超える場合に、 本環境変数を設定してください。 SJIS版の場合 :32758バイト UNICODE版にて-cs utf-8オプションを指定する場合:65517バイト UNICODE版にて上記以外の場合 :32757文字 見積式を以下に示します。 SJIS版の場合: MIN( 204800, MAX(↑(L+2)÷1024↑,64)) L:1行の長さのうち一番大きい長さ(改行文字を除く)(バイト) UNICODE版にて-cs utf-8オプションを指定する場合: MIN( 204800, MAX(↑(L+3)÷1024↑,64)) L:1行の長さのうち一番大きい長さ(改行文字を除く)(バイト) UNICODE版にて上記以外の場合: MIN( 204800, MAX(↑(M+3)÷512↑,64)) M:1行の長さのうち一番大きい長さ(改行文字を除く)(文字) (cshでの環境設定例) setenv PDUSER \"root\"/\"root\" setenv PDUAPAUTOCOMMIT OFF setenv PDUAPDUMP ON setenv PDUAPPTFNULL ON setenv PDSQLBLOBLIMI 10000 ( 7 ) 実行できるSQL及びSQL文の終了指定 (a)実行できるSQL 本プログラムで実行できるSQLを表7-1に示します。 但し、接続するHiRDBのバージョンにより異なります。 使用できるSQLの詳細およびSQLの文法については、 マニュアル「HiRDB SQLリファレンス」を参照してください。 XDM/RD E2接続では実行できるSQLが異なります。 「付録D.XDM/RD E2接続」を参照してください。 表7-1 本プログラムで実行できるSQL 実行できるSQL 内容 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 定義系 スキーマの定義 CREATE SCHEMA スキーマを定義します。 SQL DROP SCHEMA スキーマを削除します。 表の定義 ALTER TABLE 表定義を変更します。 CREATE TABLE 表を定義します。 DROP TABLE 表を削除します。 ビューの定義 CREATE [PUBLIC] VIEW ビュー表を定義します。 DROP [PUBLIC] VIEW ビュー表を削除します。 インデクスの定義 ALTER INDEX インデクス定義を変更します。 CREATE INDEX インデクスを定義します。 DROP INDEX インデクスを削除します。 手続きの定義 ALTER PROCEDURE 手続きを再作成します。 CREATE [PUBLIC] 手続きを定義します。 PROCEDURE(*1) DROP [PUBLIC] 手続きを削除します。 PROCEDURE 別名の定義 CREATE ALIAS 別名を定義します。 DROP ALIAS 別名を削除します。 関数の再作成 ALTER ROUTINE 関数・手続きを再作成します。 関数の定義 CREATE [PUBLIC] FUNCTION(*2) 関数を定義します。 DROP [PUBLIC] FUNCTION 関数を削除します。 インデクス型の定義 CREATE INDEX TYPE インデクス型を定義します。 DROP INDEX TYPE インデクス型を削除します。 ユーザ定義型の定義 CREATE TYPE(*3) ユーザ定義型を定義します。 DROP DATA TYPE 抽象データ型、個別型、 名前付き行型を削除します。 トリガの定義 ALTER TRIGGER トリガのSQLオブジェクトを 再作成します。 CREATE TRIGGER(*4) トリガを定義します。 DROP TRIGGER トリガを削除します。 セキュリティ監査 CREATE AUDIT 監査証跡として記録する監査事象 対象定義 およびその対象を定義します。 セキュリティ監査 DROP AUDIT 定義されている監査対象を 対象除外 除外します。 CONNECT関連 CREATE CONNECTION CONNECT関連セキュリティ機能 セキュリティ機能の SECURITY に関するセキュリティ項目を 定義 定義します。 CONNECT関連 DROP CONNECTION CONNECT関連セキュリティ機能 セキュリティ機能の SECURITY に関するセキュリティ項目を 削除 削除します。 順序数生成子の定義 CREATE SEQUENCE 順序数生成子を定義します。 DROP SEQUENCE 順序数生成子を削除します。 権限の DBA権限 GRANT DBA DBA権限を与えます。 定義 REVOKE DBA DBA権限を取り消します。 スキーマ定義 GRANT SCHEMA スキーマ定義権限を与えます。 権限 REVOKE SCHEMA スキーマ定義権限を取り消しま す。 CONNECT GRANT CONNECT CONNECT権限を与えます。 権限 REVOKE CONNECT CONNECT権限を取り消します。 アクセス権限 GRANT アクセス権限 アクセス権限を与えます。 REVOKE アクセス権限 アクセス権限を取り消します。 RDエリア GRANT RDAREA RDエリア利用権限を与えます。 利用権限 REVOKE RDAREA RDエリア利用権限を取り消しま す。 メモリDB化 ALLOCATE メモリDB化する対象に 対象表の設定 MEMORY TABLE 設定します。 DEALLOCATE メモリDB化解除する対象に MEMORY TABLE 設定します。 注釈の付加 COMMENT 表及び列に注釈を付けます。 ────────────────────────────────────── 操作系 リストの作成 ASSIGN LIST リストを作成します。 SQL 手続きの呼び出し CALL(*5) 手続きを呼び出します。 行の削除 DELETE 行を削除します。 リストの削除 DROP LIST リストを削除します。 行の挿入 INSERT 行を挿入します。 全行の削除 PURGE TABLE 全行を削除します。 TRUNCATE TABLE 全行を削除します。 検索 SELECT(*6) 表のデータを検索します。 行の更新 UPDATE 表のデータを更新します。 ────────────────────────────────────── 制御系 トランザクションの COMMIT トランザクションを終了させま 終了 す。 表の排他制御 LOCK 表に排他制御をします。 トランザクションの ROLLBACK トランザクションを取り消しま 取り消し す。 実行ユーザの変更 SET SESSION 接続中のユーザを変更します。 AUTHORIZATION(*7) ────────────────────────────────────── その他 診断情報取得 GET DIAGNOSTICS(*8) 診断情報を取得します。 運行コマンド/ CALL COMMAND(*9) コマンド・ユティリティを実行 ユティリティ実行 します。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ *1: CREATE [PUBLIC] PROCEDUREを指定する場合は1行の最後に END_PROC を付加します。 (例) CREATE PROCEDURE P1() BEGIN INSERT INTO T1 (C1) VALUES(10) ; UPDATE T1 SET C1 = 0 WHERE C1 < 10 ; END END_PROC; *2:CREATE [PUBLIC] FUNCTIONを指定する場合は1行の最後に END_FUNC を付加します。 (例) CREATE FUNCTION FUNC1( NUM1 INTEGER,NUM2 INTEGER ) RETURNS INTEGER BEGIN DECLARE SUM1 INTEGER; SET SUM1 = NUM1 + NUM2; RETURN SUM1; END END_FUNC; *3:CREATE TYPEを指定する場合は1行の最後に END_TYPE を付加します。 (例) CREATE TYPE TEL( NAME VARCHAR(15),TEL_NO INTEGER ) END_TYPE; *4:CREATE TRIGGERを指定する場合は1行の最後にEND_TRIGを付加します。 (例) CREATE TRIGGER TRIG1 AFTER INSERT ON T0 FOR EACH ROW INSERT INTO T1 VALUES(10, 'ABC') END_TRIG; *5:CALL文で呼び出す手続きの引数が入力パラメタの場合、値式または“?” を指定できます。手続きの引数が出力パラメタまたは入出力パラメタの場合 、手続きの引数に“?”を指定してください。 CALL文を入力後、入力パラメタまたは入出力パラメタに対し“?”を指定した 数分の応答要求があるので対応した値を指定してください。 すべての入力応答を行った後、CALL文が実行され正常終了した際に、 出力パラメタまたは入出力パラメタの結果を表示します。 また、手続き内にて結果集合のカーソルを開いた状態で終了している場合は、 該当する結果集合の内容を表示します。 (例) 手続き: CREATE PROCEDURE ORDERED_EMPS(IN REGION INTEGER,OUT CNT INTEGER) DYNAMIC RESULT SETS 2 BEGIN DECLARE CUR1 CURSOR WITH RETURN FOR SELECT id_no, name FROM emps_1 WHERE id_no < REGION ORDER BY id_no; DECLARE CUR2 CURSOR WITH RETURN FOR SELECT id_no, name FROM emps_2 WHERE id_no < REGION ORDER BY id_no; OPEN CUR1; OPEN CUR2; SET CNT = 2; END END_PROC; CALL文の実行例: call ORDERED_EMPS(?,?); DATA ( 1) ? : INTEGER : VALUE(NULL) ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+ 6000; CNT ------------ 2 KFPA12120-I Processing of SQL completed, dynamic result set returned ID_NO NAME ------------ -------------------------------- 3001 Mishima 4001 Shimizu 4201 Yoshida 4501 Iwata 5301 Kawasaki 5401 Matsuda KFPA12121-I Processing of SQL completed, additional result set returned ID_NO NAME ------------ -------------------------------- 1301 Ibaragi 1901 Kagawa 2501 Matsue KFPA12100-I No rows satisfying search condition *6:指定できるのは動的SELECTのみです。また、カーソル指定はできません。 *7:SET SESSION AUTHORIZATION文使用時の埋め込み変数1の部分には 認可識別子、埋め込み変数2の部分にはパスワードを直接記述してください。 (例) SET SESSION AUTHORIZATION USER0001 IDENTIFIED BY PASS0002; 認可識別子およびパスワードとして記述できる長さの最大は32文字です。 32文字を越えているときは、エラーメッセージKFPX27040-Eを出力します。 *8:GET DIAGNOSTICS文使用時の埋め込み変数部分には“?”を指定してください。 (例) GET DIAGNOSTICS ?=NUMBER; また、条件番号を指定する場合も“?”を指定してください。 GET DIAGNOSTICS文実行後、応答要求があるので対応する条件番号(1、2・・・) の値を指定してください。 (例) GET DIAGNOSTICS EXCEPTION ? ?=RETURNED_SQLCODE; GET DIAGNOSTICS文で指定可能な条件情報項目名を示します。 その他の条件情報項目名を指定するとSQL Executerがエラーを返します。 RETURNED_SQLCODE ERROR_POSITION ERROR_SQL_NO ERROR_SQL ROUTINE_TYPE ROUTINE_SCHEMA ROUTINE_NAME TRIGGER_SCHEMA[注1] TRIGGER_NAME[注1] CONSTRAINT_SCHEMA[注1] CONSTRAINT_NAME[注1] MESSAGE_TEXT QUERY_NAME CONDITION_IDENTIFIER[注1] [注1]SQL Executer 02-07以降にて新しく指定できる項目名です。 *9:CALL COMMAND文使用時の埋め込み変数部分が入力パラメタの場合は 値式または“?”を指定できます。埋め込み変数部分が出力パラメタ の場合は“?”を指定してください。 埋め込み変数部分が入力パラメタの句: ・CALL COMMAND ・WITH ・INPUT ・ENVIRONMENT ・SERVER 埋め込み変数部分が出力パラメタの句: ・OUTPUT TO ・ERROR TO ・RETURN CODE TO CALL COMMAND文実行後、入力パラメタに対し“?”を指定した数分の 応答要求があるので対応した値を指定してください。 すべての入力応答を行った後、CALL COMMAND文が実行され正常終了し た際に、出力パラメタの結果を表示します。 なお、OUTPUT TO 句、 ERROR TO 句で返却されるデータ型が、 BLOB(2G)となっておりますのでSET BLOB LIMITコマンドにより最大長を 適切な値に設定した後に、実行することをお奨めします。 (例) CALL COMMAND文の実行例: CALL COMMAND 'pddef' INPUT ? OUTPUT TO ? RETURN CODE TO ? ENVIRONMENT 'PDUSER=SAS1/SAS1'; DATA ( 1) ? : INTEGER : VALUE(NULL) ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+ 'CREATE TABLE T1(C1 INTEGER, C2 TIMESTAMP, C3 VARCHAR(32));'; OUTPUT RETURN_CODE ------------------------------------------------ ------------ KFPA12000-I Processing of SQL completed:: 0 KFPX27001-I Processing of SQL completed (b) SQL文の終了指定 1行の最後に セミコロン ( ; ) があれば、そこまでをSQL文とみな して処理します。セミコロンがない場合は、その行は次の行に継続し ているものとして扱われます。 (例) CREATE TABLE T1(C1 INT, (継続) C2 CHAR(10), (継続) C3 CHAR(10)); (SQL文の終了) 環境変数PDSQL_EXEC_SEMICOLON_ENTERに2が設定されているときは、 セミコロン ( ; ) から行の終端までの間に囲み注釈があっても 終了指定とみなします。その場合は、 セミコロンの直前までをSQL文、pdsqlコマンドとみなして処理 します。 動作例については、環境変数PDSQL_EXEC_SEMICOLON_ENTERを 参照してください。 ただし、CREATE [PUBLIC] PROCEDUREの場合は1行の最後に END_PROC;,CREATE [PUBLIC] FUNCTION の場合は1行の最後に END_FUNC;,CREATE TYPE の場合は1行の最後に END_TYPE;,CREATE TRIGGER の場合は1行の最後に END_TRIG;があれば、そこまでをSQL文とみなします。 したがって、1行の最後にセミコロンがあっても次の行に継続 しているものとして扱われます。 (例) CREATE PROCEDURE P1() (継続) BEGIN (継続) INSERT INTO T1 (C1) VALUES(10) ; (継続) UPDATE T1 SET C1 = 0 WHERE C1 < 10 ; (継続) END (継続) END_PROC ; (SQL文の終了) また、セミコロン又は END_PROC ;, END_FUNC ;, END_TYPE ;, END_TRIG ; が行の最後に記述してある場合は、SQL文中の引用符号 ( " ) で囲まれた セミコロン又は END_PROC ;, END_FUNC ;, END_TYPE ;, END_TRIG ; であってもSQL文の終了とみなされます。 以下の全ての条件が重なった場合、SQL文の終了指定ができません。 そのときは別の端末画面よりkillコマンドにて HiRDB SQL Executerを終了してください。 (i) システム定義pd_sql_simple_comment_useに'Y'を指定している サーバに接続する。 (ii) 改行文字の削除設定がONである。 設定は環境変数PDSQL_REMOVE_LINEFEED_CHARACTER又は SET REMOVE LINEFEED CHARACTERコマンドで設定できます。 (iii) SQL文中に「--」を記述する。 1行の長さは、65530文字以内である必要があります。 ( 8 ) pdsqlコマンド 本プログラムの起動後は、SQL文だけではなく、SQL文の入力・実行を 容易にしたり、実行結果の形式を指定するなどのコマンドを入力するこ とができます。本プログラムから指定できるコマンドを表8-1に示しま す。 表8-1 本プログラムから実行可能なコマンド 項番 コマンド 機能概要 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1 BLOCK/ITERATE コマンドの繰り返し 2 CHANGE 文字列の変更 3 COLUMNS 表の列一覧の表示(*1) 4 CONNECT HiRDBに接続 5 CONSTRAINTS 制約名一覧の表示(*1) 6 DISCONNECT HiRDBの切り離し 7 DESCRIPTORS 抽象データ型の属性の表示(*1) 8 EXIT 本プログラムの終了 9 FILES RDエリアのファイル情報表示(*1) 10 GETFILE ファイルからパラメタ入力 11 HELP ヘルプの表示 12 INDEXCLM インデクスの列を表示(*1) 13 INDEXES インデクス一覧の表示(*1) 14 ITERATE コマンドの繰り返し終了 15 LOBS LOB用RDエリアの表示(*1) 16 PRPARAMS パラメタの表示(*1) 17 PUTFILE 結果のファイル出力 18 RDAREAINF RDエリア情報の表示(*1) 19 RDAREAS RDエリアの表示(*1) 20 REPEAT SQLの繰返し実行 21 ROUTINES ルーチン一覧の表示(*1) 22 SEQINF 順序数生成子情報の表示(*1) 23 SEQUENCES 順序数生成子一覧の表示(*1) 24 SERVERS 外部サーバ一覧の表示(*1) 25 SET ANALYSIS MODE SQLの前処理だけを実行 26 SET ARRAY DISPLAY MODE 繰返し列情報の切り替え 27 SET ARRAY LIMIT 最大要素数の制限 28 SET ARRAY NOVALUE 繰返し列値なし要素表示文字の設定 29 SET AUTO COMMIT COMMITの自動発行 30 SET BINARY LIMIT BINARY型の長さ制限 31 SET BLANKLINE 空行の表示 32 SET BLOB LIMIT BLOB型の長さ制限 33 SET CHAR LIMIT CHAR型の長さ制限 34 SET CLOB LIMIT CLOB型の長さ制限 35 SET CMDBUF サーバコマンド実行結果の出力長制限 36 SET CONVSPACE 制御文字コードの空白変換 37 SET DISPLAY 出力形式の変更 38 SET DUMPMODE 16進形式でも表示 39 SET ECHOBACK コマンドのエコー表示 40 SET EXECTIME 実行時間の表示 41 SET FETCH ARRAY SIZE 1回のFETCHで検索する行数設定 42 SET FETCH LIMIT 検索行の制限 43 SET NCHAR LIMIT NCHAR型の出力長制限 44 SET PADDING CHAR 埋め文字の変更 45 SET REMOVE LINEFEED CHARACTER 改行文字の削除 46 SET RESULT FILEOUT 実行結果のファイル出力 47 SET SPLIT SIZE 長大データの分割取得指定 48 SET NULL CHARACTER ナル値表示文字の設定 49 SET TBLMODE 表形式での表示 50 SET WHENEVER 例外制御指定 51 SINGLE ROW 1行SELECT文の実行 52 SOURCE 定義ソースの表示(*1) 53 STATUS 動作状態の表示 54 TABLEINF 表情報の表示(*1) 55 TABLES 表一覧の表示(*1) 56 TRIGGERS トリガ一覧の表示(*1) 57 TYPES 抽象データ型の表示(*1) 58 USERS ユーザ一覧の表示(*1) 59 < ファイルからの実行 60 > ファイルに出力 61 /* 注釈行 62 ! UNIXコマンドの実行 63 : サーバコマンドの実行 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ *1:ディクショナリ情報表示コマンドです。 ディクショナリ情報表示コマンドは、内部的に1つまたは複数の SQLを発行し、ディクショナリの情報を表示します。 このうちSQL発行が1つだけのコマンドを以下に示します。 COLUMNS、CONSTRAINTS、DESCRIPTORS、FILES、INDEXCLM、INDEXES、 LOBS、PRPARAMS、RDAREAS、ROUTINES、SEQUENCES、SERVERS、 TABLES、TRIGGERS、TYPES、USERS これらのコマンドは、SET CHAR LIMITなど他のコマンドと 組み合わせて使用することが可能です。 各コマンドの詳細内容については、「付録A.pdsqlコマンド詳細」 を参照してください。 XDM/RD E2接続では一部制限があります。 「付録D.XDM/RD E2接続」も合わせて参照してください。 SQL予約語削除機能を使用すると、機能の実行ができないコマンドが あります。 「付録E.SQL予約語削除機能による影響」も合わせて参照して ください。 ( 9 ) 戻り値(リターンコード) 本プログラムの終了時は、表9-1に示す戻り値(リターンコード)を 返します。 戻り値は変数$?で参照することができます。 表9-1 HiRDB SQL Executerの戻り値 ┌────────┬──────────────────────┐ │戻り値 │内容 │ ├────────┼──────────────────────┤ │ 0 │一度もエラーが発生しなかった場合 │ │ 4 │本プログラムのエラー(KFPX27〜)のみが │ │ │一度以上発生した場合 │ │ 8 │HiRDBのアクセスエラー(KFPA〜など)のみが │ │ │一度以上発生した場合 │ │ 12 │本プログラムのエラー(KFPX27〜)及びHiRDB │ │ │のアクセスエラー(KFPA〜など)がそれぞれ │ │ │一度以上発生した場合 │ │-32768〜-1 │例外制御指定によりプログラムが終了した場合 │ │ │(EXIT句で整数定数を指定していた場合) │ │-1999〜3999 │例外制御指定によりプログラムが終了した場合 │ │ │(EXIT句でSQLCODEを指定していた場合) │ └────────┴──────────────────────┘ ( 10 ) 規則 (a) 本プログラムは、HiRDBが稼働中のときだけ実行できます。 (b) 本プログラムの実行結果をファイルに出力するには、リダイレ クションによって標準出力の出力先をファイルに変更して出力し ます。 (例) pdsql > outfile また、検索結果のみをファイルに出力する場合は、putfileコマン ドを使用してください。 (c) 小文字で入力したSQLは大文字に変換されます。小文字を使用する 場合は、小文字を引用符( " ) で囲んでください。 (例) INSERT INTO "t1" VALUES(1000); (d) 実行できるSQL文・pdsqlコマンドの長さは最大2,000,000バイト です。 (e) 一行の表示結果又はファイル出力結果が2097152バイトを超える検索 はできません。 (f) セミコロン又は END_PROC ;, END_FUNC ;, END_TYPE ;,END_TRIG ; が行の最後に記述してある場合は、SQL文中の引用符号 ( " ) で囲ま れたセミコロン又は END_PROC ;, END_FUNC ;, END_TYPE ; ,END_TRIG ;であってもSQL文の終了とみなされます。 (g) SQL文中の囲み注釈は接続するサーババージョンによって処理が 異なります。 ・サーババージョンが06-01以前のとき 囲み注釈を1つの空白に置き換えてSQL文をサーバ側に送信します。 囲み注釈の終了記号が存在しないときは、行末までを囲み注釈とし て置き換えます。 ・サーババージョンが06-02以降のとき 囲み注釈を編集せずにSQL文をサーバ側に送信します。 (h) SQL文中の「--」は接続するサーバのシステム定義によって 解釈が異なります。 ・システム定義pd_sql_simple_comment_useが'Y'のとき 単純注釈と解釈します。 単純注釈から改行(NL(X'0a'))までの間にセミコロン(;) が存在しても、SQL文の終端と解釈しません。 改行文字の削除設定がONのときは、改行文字(NL(X’0a’)、 CR(X’0d’))は実行する前に全て除去します。 したがって、単純注釈以降はすべて注釈となります。 すべて注釈となった場合の影響については、 「( 7 ) 実行できるSQL及びSQL文の終了指定」(b)を参照して ください。 ・システム定義pd_sql_simple_comment_useが未設定または 'Y'以外のとき、演算子と解釈します。 引用符(’|”)で囲まれていないセミコロン(;)を、 SQL文の終端と解釈します。 (i) 次の場所には囲み注釈「/*〜*/」、および単純注釈「--」を記述 できません。 (i) pdsqlコマンドの中(※1)。 (ii) CREATE [PUBLIC] PROCEDUREのCREATEとPROCEDUREの間。 (iii)CREATE [PUBLIC] FUNCTIONのCREATEとFUNCTIONの間。 (iv) CREATE TYPEのCREATEとTYPEの間。 (v) CREATE TRIGGERのCREATEとTRIGGERの間。 (vi) END_PROC;、END_FUNC;、END_TYPE;およびEND_TRIG;と 同じ行の中。 ※1:pdsqlコマンドの前(改行(NL(X’0a’))とpdsqlコマンド の間)と後ろ(セミコロン( ; )と改行(NL(X’0a’))の間) には囲み注釈を記述できます。 囲み注釈または単純注釈を記述した場合の動作: (i)の場所においては、構文エラーとなることがあります。 (ii)〜(v)の場所においては、SQL手続き文中のセミコロン(;)を SQL文の終端と解釈し誤ったSQLをサーバに送信します。 (vi) の場所においては、SQL文の終端と解釈できないため、 継続行の入力待ち状態となります。 (j) SQL文およびpdsqlコマンドの区切り文字には, 次の文字を指定できます。 文字 │SQL文 │pdsqlコマンド ────────┼────┼─────── 空白(X'20') │○ │○ TAB(X'09') │○ │○ NL(X'0a')(※2)│△ │△ CR(X'0d')(※2)│△ │△ 囲み注釈 │△(※3) │× 単純注釈 │△(※3) │× 全角空白 │△(※3) │× ○:指定可、△:指定可(条件付き)、×:指定不可 ※2:改行文字の削除設定により動作が異なります。 改行文字の削除設定がONのとき: SQL文またはpdsqlコマンド中に指定された改行文字( NL(X’0a’)、CR(X’0d’))は実行する前に全て除去します。 したがって,区切り文字となりません。 但し,END_PROC;、END_FUNC;、END_TYPE;およびEND_TRIG;の 直前の改行文字だけは例外的に区切り文字として処理します。 改行文字の削除設定がOFFのとき: 区切り文字となります。 動作例については,pdsqlコマンドの SET REMOVE LINEFEED CHARACTERを参照してください。 ※3:囲み注釈、単純注釈および全角空白は次の場所の区切り文字 として記述できません。 (i) CREATE [PUBLIC] PROCEDUREのCREATEとPROCEDUREの間。 (ii) CREATE [PUBLIC] FUNCTIONのCREATEとFUNCTIONの間。 (iii)CREATE TYPEのCREATEとTYPEの間。 (iv) CREATE TRIGGERのCREATEとTRIGGERの間。 (v) END_PROC;、END_FUNC;、END_TYPE;およびEND_TRIG;と 同じ行の中。 (k) pdsqlコマンド(※4)上では前後の区切り文字の有無にかかわらず 次に示す特殊記号(半角文字コード)を意味のある1つの 句と解釈します。 ・コンマ(,) ・ピリオド(.) ・ハイフン又は負符号(−) ・正符号(+) ・アスタリスク(*) ・アポストロフィ(') ・引用符(") ・左括弧(( ) ・右括弧( )) ・小なり演算子(<) ・大なり演算子(>) ・等号演算子(=) ・サーカムフレックス(^) ・感嘆符(!) ・斜線(/) ・疑問符(?) ・コロン(:) ・セミコロン(;) ・パーセント(%) ・垂直棒(|) ・左角括弧([) ・右角括弧(]) ・逆アポストロフィ(`) ・左大括弧({) ・右大括弧(}) ・ドル($) 但し、オプション指定に関しては区切り文字を形式通りに 記述することが必要です。 例) PUTFILE .... [-q 囲み文字] .... TO .... ハイフンとqの間に区切り文字の挿入は不可。 qと囲み文字の間に区切り文字の挿入は必須。 ハイフンの前、および囲み文字の後の区切り文字の挿入は任意。 ※4:下記に示すコマンドは、終端のセミコロンまでを一つの オペランドとみなすため本規則に適合しません。 ・実行マシン上OSコマンドの実行(!) ・サーバコマンドの実行(:) (m) 入力された文の先頭及び末尾に1つ以上の空白文字が存在するときは ,連続する空白文字を取り除きます。 (n) XDM/RD E2 に接続している場合にナル値の規定値設定機能を使用 する場合は、XDM/RD E2のRD環境定義文のDEFAULT NULL VALUE OPTION句でナル値の既定値を設定すると同時に、環境変数 PDDFLNVAL=USE を設定してください。 (o) 検索結果中に、BINARY/BLOB/CLOB型を含む場合、以下の動作と なります。 HiRDBサーバが使用する文字コードとウインドウ端末の文字コード が異なるとき、ASCIIコード以外の文字が含まれていると 文字化け及びカラムずれが発生します。 (p) ディクショナリ情報表示コマンドのオペランド (名前および識別子)に共通する規則を示します。 ・255バイトを越えているときは、エラー(KFPX27040-E)となります。 ・英大文字と英小文字を区別したいとき、およびASCII文字以外を含むときは 、引用符(")で囲んでください。 引用符(")で囲んでいない場合は、英小文字を英大文字に変換します。 ・30バイトを越えており引用符(")で囲まれていないときは、 31バイト以降を切り捨てます。 ・30バイトを越えており引用符(")で囲まれているときは、 切り捨てることなくSQL文に展開します。 (q) SQL文中および?パラメタに対する値として記述できる浮動小数点数 定数の範囲は、HiRDB SQL Executerを実行するハードウエア、および HiRDBサーバが動作するハードウエアに依存します。 ( 11 ) 規則に関する留意事項 以下に挙げる動作は過去のバージョンから引き継いだ動作です。 (a) 以下の全ての条件が重なった場合、改行文字の削除設定がOFFであっても 改行を取り除きます。 発生条件: (i) 囲み注釈の前にステートメントの終了を示すセミコロンが存在する。 (ii) ステートメントの終了を示すセミコロンと囲み注釈の間に、 0個以上の空白のみが存在する。 (iii) 囲み注釈の中に、下記の文字のみが0個以上存在する。 ・アスタリスク(*) ・アポストロフィ(') ・引用符(") ・斜線(/) ・空白 ・セミコロン(;) (iv) 囲み注釈と改行の間に、0個以上の空白のみが存在する。 例) SELECT COUNT(*) FROM table001; /*"'*'"*/ SELECT COUNT(*) FROM table002; ....「/*"'*'"*/」と「SELECT」間の改行を取り除きます。 (b) 以下の全ての条件が重なった場合、HP版およびAIX版においてのみ KFPA12110-Iメッセージの前に空行を表示します。 発生条件: (i) リストを作成後、リスト検索の対象となるデータを削除する。 (ii) (i)の状態においてリスト検索を実行する。 ( 12 ) トラブルシュート SQL および HiRDBサーバから情報を取得するために SQL を発行する pdsql コマンドで障害が発生した場合は、HiRDBクライアントのトラブル シュート機能を使用して、障害要因を調査できます。HiRDBクライアント のトラブルシュート機能については、HiRDBのマニュアル「UAP開発ガ イド」の「UAPの障害対策」を参照してください。 付録A.pdsqlコマンド詳細 <文法記号の説明> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 文法記述記号 意 味 ─────────────────────────────────── [ ] この記号で囲まれた項目は省略できます。 (例)REPEAT [ 繰り返し回数 ] 繰り返し回数は省略することができます。 | この記号で仕切られた項目は選択できます。 { } この記号で囲まれている複数の項目のうちから一つを選択 します。 (例)SET AUTO COMMIT { ON | OFF } ON、又はOFFのどちらかを選択して記述します。 ::= ::=の左にあるものを右にあるもので定義することを示します。 この記号で示す項目は、省略時の仮定値です ~~~~~~ (例)CHANGE [ HOLD | NOHOLD ] (下線) ~~~~~~ NOHOLDが仮定されます。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ <属性表示記号の説明> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 属性表示記号 意 味 ─────────────────────────────────── 〜 この記号の後にユーザ指定値の属性を示します。 << >> ユーザが指定しなかった場合に、仮定される値を示します。 < > ユーザ指定値の構成要素記号を示します。 ( ) ユーザ指定値の指定範囲を示します。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ <構成要素記号の説明> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 構成要素記号 意 味 ─────────────────────────────────── 英字 アルファベット(A〜Z、a〜z)と_(下線) 英字記号 アルファベット(A〜Z、a〜z)と#、@、¥ 英数字 英字と数字(0〜9) 英数字記号 英字記号と数字(0〜9) 符号なし整数 数字 16進文字 数字と(A〜F、a〜f) 識別子 先頭がアルファベットの英数字 (RDエリア名の場合は、英数字に空白も含まれます。) 記号名称 先頭が英字記号の英数字記号 文字列 任意の文字列 パス名 記号名称、/、.(ピリオド)、‘(’、及び‘)’ ファイル名称 OSの規則に従ったファイルの名前 ファイル名 「ファイル名称」、「”ファイル名称”」、 「パス名\ファイル名称」及び「“パス名\ファイル名称”」 (ファイル名に空白、‘(’、及び‘)’を含む場合は””で 囲った形式にして下さい。) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BLOCK / ITERATE ( SQL又はpdsqlコマンドの繰り返し実行 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 BLOCK / ITERATEの間に指定したSQL又はpdsqlコマンドを繰り返し実行しま す。 形式1 : 単純な繰り返し ┏━━━━━━━━━━━━━━━━━━━┓ ┃ BLOCK ┃ ┃ ┃ ┃ SQL又はpdsqlコマンド ┃ ┃ ┃ ┃ ITERATE [繰り返し回数] ┃ ┗━━━━━━━━━━━━━━━━━━━┛ オペランド ● 繰り返し回数 〜<符号なし整数>(1〜2147483647)<<1>> 指定したSQL又はpdsqlコマンドを実行する回数を指定します。 形式2 : 変数を使用した繰り返し ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ BLOCK 変数名 = 初期値 TO 終値 [ BY 増分値 ] [ LENGTH 長さ ] [ HEX ] ┃ ┃ ┃ ┃ SQL又はpdsqlコマンド ┃ ┃ ┃ ┃ ITERATE ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ オペランド ● 変数名 〜<識別子>(1〜8文字) SQL又はpdsqlコマンド中で変数として使用する名称を指定します。 変数は初期値から終値まで値が変化します。 名称規則: ・1バイトコード英文字で始まっていること ・1バイトコード英数字で構成されていること ・長さは8バイトまでであること ・大文字と小文字を区別していること ・予約語と異なること ● 初期値 〜<符号なし整数>(-2147483648〜2147483647) 変数の初期値を指定します。 ● 終値 〜<符号なし整数>(-2147483648〜2147483647) 変数の終値を指定します。 ● 増分値 〜<符号なし整数> 初期値<終値の場合(1〜2147483647) <<1>> 初期値>終値の場合(-2147483648〜-1)<<-1>> 変数の増分値を指定します。 ● 長さ 〜<符号なし整数>(1〜255)<<けた数>> 変数の置き換え時に変数の桁数を変換する場合に指定します。 (例)LENGTH 3 と指定すると、1->001、2->002として置き換えます。 ● HEX <<10進数表記>> 変数の置き換え時に変数を16進で表記する場合に指定します。 (例)11->A、20->14として置き換えます。 規則 (1) BLOCK文の入力を受け付けると、BLOCK/ITERATE文中の入力待ち状態 になります。 BLOCK/ITERATE文中の入力待ち状態では、SQL又はpdsqlコマンド を入力したタイミングでSQL又はpdsqlコマンドの実行を行いません。 BLOCK/ITERATE文中の入力待ち状態から通常の入力待ち状態にするには、 ITERATE又はQUITを入力してください。 (2) BLOCK/ITERATE文中の入力待ち状態において、SQL又はpdsqlコマンドは 最大50文まで指定できます。 51文以上の入力を行ったときはSQL又はpdsqlコマンドを入力する毎に エラーKFPX27069-Eを出力します。 (3) ITERATEの入力を受け付けると、BLOCK/ITERATE文中の入力待ち状態において 入力されたSQL又はpdsqlコマンドを、繰り返し実行します。 入力されたSQL又はpdsqlコマンドが51文以上であったときは、 1〜50文目までを繰り返し実行します。 上記の実行をしたのちに通常の入力待ち状態に移ります。 (4) QUITを受け付けると、BLOCK/ITERATE文中の入力待ち状態において 入力されたSQL又はpdsqlコマンドを取り消し、実行を行いません。 通常の入力待ち状態に移ります。 (5) BLOCK/ITERATE文中の入力待ち状態でKFPX27069-E以外のエラーが 発生した場合は、入力されたSQL又はpdsqlコマンドを取り消し、 実行を行いません。通常の入力待ち状態に移ります。 (6) 変数名と同じ文字列がSQL又はpdsqlコマンド中に存在する場合、その文 字列は変数の値に置き換えられます。 (7) BLOCK文のネスト指定(BLOCK/ITERATE中に再度BLOCK文を指定すること)は、でき ません。 留意事項 (1) 指定したSQL又はpdsqlコマンドを実行する回数は、終値 - 初期値 + 1回 になります。 (2) 空白や記号などで区切られた語句の中に変数名名称が含まれている場合も、 置き換えられますので、変数名名称は十分に注意してください。 (使用例2を参照。) (3) BLOCK/ITERATE文中の入力待ち状態において、?パラメタを含むSQLを指定 する場合、?パラメタに対するデータはSQLの直後に指定できません。 ITERATEの直後に、BLOCK〜ITERATEを繰返す回数個のデータを指定してください。 BLOCK X=1 TO 50; INSERT INTO T1 VALUES(?); ITERATE; 1; 2; 3; : 49; 50; 使用例 (1)INSERT文で1〜50までのデータを入れます。 BLOCK X=1 TO 50; INSERT INTO T1 (C1) VALUES(X); ITERATE; 下記の実行結果と同等になります。 INSERT INTO T1 (C1) VALUES(1) INSERT INTO T1 (C1) VALUES(2) .. INSERT INTO T1 (C1) VALUES(50) (2)表T001DATAからT005DATAを削除します。 BLOCK AX=1 TO 5 LENGTH 3; DROP TABLE TAXDATA; ITERATE; 下記の実行結果と同等になります。 DROP TABLE T001DATA; DROP TABLE T002DATA; .. DROP TABLE T005DATA; ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ CHANGE ( SQL中の文字列変更 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 直前に実行したSQL中の文字列を変更し、実行します。 形式 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ CHANGE 文字列1 文字列2 [ { HOLD | NOHOLD } ] ┃ ┃ ~~~~~~ ┃ ┃ [ { DISPLAY | NODISPLAY } ] ┃ ┃ ~~~~~~~~~ ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ オペランド ● 文字列1 〜<文字列>(1〜255文字) 変更前の文字列を指定します。 ● 文字列2 〜<文字列>(1〜255文字) 変更後の文字列を指定します。 ● HOLD | NOHOLD HOLD 文字列の変更後、SQLを実行しません。 NOHOLD 文字列の変更後、SQLを実行します。 ● DISPLAY | NODISPLAY DISPLAY 変更前後のSQLを表示します。 NODISPLAY 変更前後のSQLを表示しません。 規則 (1) 下記に示すSQLは、変更の対象にはなりません。 下記に示すSQLより以前で直前に実行したSQLが対象となります。 (i) COMMIT (ii) ROLLBACK (iii) SET SESSION AUTHORIZATION (2) 直前にディクショナリ情報表示コマンド(RDAREAINF、SEQINF、SOURCE、 TABLEINFを除く)を実行している場合は、内部的に発行されたSQLが 変更の対象になります。 留意事項 (1) 変更後のSQLの長さが2Mバイトを超えることはできません。 (2) 文字列1・文字列2は、アポストロフィ(’)で囲んでください。 また、アポストロフィを文字として指定する場合は、アポストロフィを2つ 続けて指定します。 (例) 文字列が A'BC の場合は 'A''BC' と指定します。 (3) 大文字と小文字は区別されます。 使用例 表(T1)検索後、表(T2)を検索します。 SELECT * FROM USER1.T1; 実行結果が表示される CHANGE 'T1' 'T2'; 以下のSQLが実行されます。 SELECT * FROM USER1.T2; ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ COLUMNS ( 列一覧の表示 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 指定表の列一覧を表示します。 形式 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ COLUMNS [[ RDノード名[.] ] 認可識別子[.] ] 表識別子 ┃ ┃ [+COMMENT][+LIKE] ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ オペランド ● RDノード名 〜<RDノード名> リモートデータベースアクセスをする場合、RDノード名を指定します。 RDノード名はリモートデータベースがHiRDBの場合のみ指定できます。 RDノード名を省略した場合、ローカルアクセスになります。 ● 認可識別子 〜<認可識別子> 表を所有しているユーザの認可識別子を指定します。 認可識別子を省略した場合、CONNECT時の認可識別子が仮定されます。 ● 表識別子 〜<表識別子> 列の情報を表示する表識別子を指定します。 ● [+COMMENT] 列コメントの出力をします。 本オペランドの指定を行わなかったときは,列コメントの出力を 行いません。 ● [+LIKE] 表識別子の中に特殊文字を含めることにより,部分一致する表の列一覧を 表示します。複数の表が一致したときは,TABLE_NAME列を出力し, TABLE_NAME列、COLUMN_ID列の順に昇順に並び変えを行い表示します。 特殊文字には,_(下線),%(パーセント)があり, 以下の意味を持ちます。 _(下線) 任意の1文字 %(パーセント) 任意の長さ(0文字以上)の任意の文字列 特殊文字 %(パーセント)を使用する場合は,表識別子を引用符で 囲んでください。 本オペランドの指定を行わなかったときは,表識別子と完全に一致する表の 列一覧を表示します。 08-08以前は、常に部分一致する表の列一覧を表示していました。 オペランド[+COMMENT]と[+LIKE]は、指定する順序に関係なく オプションとして有効です。 使用例 表(ZAIKO)の列一覧を表示します。 COLUMNS ZAIKO; 留意事項 (1) 先頭が正符号(+)の文字列をオペランドに指定する場合、 正符号(+)に続く文字列がCOMMENT、もしくはLIKE以外の場合は エラーとなります。 (2) RDノード名、認可識別子、表識別子の記述については、 「( 10 ) 規則」(p)を参照してください。 出力内容 [ 接続先HiRDB のバージョンが 05-02 以前の場合] 列番│列名 │表示文字数│形式 │内容 ──┼──────┼─────┼───────┼──────── 1│COLUMN_ID │ 9│数値 │列ID(#1) 2│COLUMN_NAME │ 30│文字列 │列名 3│DATA_TYPE │ 39│文字列 │データ型(#2) 4│DATA_LENGTH │ 11│文字列(右詰め)│データ長(#3) 5│TABLE_NAME │ 30│文字列 │表識別子(#1)(#6) [ 接続先HiRDB のバージョンが 05-03 〜09-04の場合] 列番│列名 │表示文字数│形式 │内容 ──┼───────┼─────┼───────┼──────── 1│COLUMN_ID │ 9│数値 │列ID(#1) 2│COLUMN_NAME │ 30│文字列 │列名 3│DATA_TYPE │ 39│文字列 │データ型(#2) 4│DATA_LENGTH │ 11│文字列(右詰め)│データ長(#3) 5│MAX_ELM │ 7│数値 │繰返し列数 6│COLUMN_COMMENT│ 255│文字列 │列コメント(#5) 7│TABLE_NAME │ 30│文字列 │表識別子(#1)(#6) [ 接続先HiRDB のバージョンが 09-50 以降の場合] 列番│列名 │表示文字数│形式 │内容 ──┼───────┼─────┼───────┼──────── 1│COLUMN_ID │ 9│数値 │列ID(#1) 2│COLUMN_NAME │ 30│文字列 │列名 3│DATA_TYPE │ 61│文字列 │データ型(#2) 4│DATA_LENGTH │ 11│文字列(右詰め)│データ長(#3) 5│MAX_ELM │ 7│数値 │繰返し列数 6│COLUMN_COMMENT│ 255│文字列 │列コメント(#5) 7│TABLE_NAME │ 30│文字列 │表識別子(#1)(#6) #1: この列をキーに昇順に並び替え表示します。 #2: データ型が抽象データ型の場合は、データ型識別子を表示します。 #3: データ型が抽象データ型の場合は、空白で表示します。 #5: +COMMENTオプション指定時に出力します。 #6: +LIKEオプションの指定があり,且つ複数の表が一致したときに出力します。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ CONNECT ( HiRDBとの接続 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 HiRDBに接続します。 形式 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ CONNECT [ 認可識別子[/パスワード] [ホスト名/ポート番号] ] ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ オペランド ● 認可識別子 HiRDBに接続する認可識別子を指定します。 英大文字と英小文字を区別したいときは引用符で囲んでください。 引用符で囲んでいない場合は、すべて大文字として扱います。 引用符を除いた長さが30バイトを越えているときは、エラー (KFPX27040-E)となります。 ● パスワード 認可識別子に対するパスワードを指定します。 英大文字と英小文字を区別したいときは引用符で囲んでください。 引用符で囲んでいない場合は、すべて大文字として扱います。 引用符を除いた長さが30バイトを越えているときは、エラー (KFPX27040-E)となります。 ● ホスト名 接続するHiRDBシステムのホスト名を指定します。 30バイトを越えるホスト名、または規則(k)に示す特殊記号を含むホスト名を 指定するときは引用符で囲んでください。 特殊記号を含むホスト名を引用符で囲んでいない場合は、エラー (KFPX27040-E) となります。 引用符を除いた長さが255バイトを越えているときは、エラー (KFPX27040-E) となります。 ● ポート番号 〜<符号なし整数>(1〜2147483647) 接続するHiRDBシステムのポート番号を指定します。 留意事項 (1) オペランドを省略した場合、CONNECTコマンド投入後、認可識別子およびパス ワードを入力する必要があります。入力する認可識別子およびパスワードは大 文字に変換されます。小文字を使用する場合は、引用符(”)で囲んでくださ い。 (2) CONNECT後に別の認可識別子でHiRDBに接続する、まはた同一の認可識別子で HiRDBに接続するには、一旦DISCONNECTコマンドでHiRDBから切り離した後、 CONNECTコマンドを実行してください。 (3) パスワードを省略した場合、パスワード無しとしてHiRDBに接続します。 参照 DISCONNECT ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ CONSTRAINTS ( 制約名一覧の表示 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 制約の一覧を表示します。 形式 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ CONSTRAINTS [ { 認可識別子 | ALL } ] ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ オペランド ● 認可識別子 〜<認可識別子> 制約を所有しているユーザの認可識別子を指定します。 認可識別子を省略した場合は、CONNECT時の認可識別子が 仮定されます。 指定されたユーザが所有する制約の一覧を表示します。 ● ALL 全てのユーザが所有する制約の一覧を表示します。 留意事項 (1) 認可識別子の記述については、「( 10 ) 規則」(p)を参照してください。 出力内容 [ 接続先HiRDBのバージョンが 09-04 以前、且つディクショナリの初期設定にて 混在文字データを使用しない設定の場合] 列番│列名 │表示文字数│形式 │内容 ──┼────────┼─────┼───┼─────────────── 1│CONSTRAINT_NAME │ 39│文字列│制約名(#1) 2│TABLE_NAME │ 30│文字列│制約を定義している表の表識別子 3│TYPE │ 4│文字列│制約の種類 [ 上記以外の場合] 列番│列名 │表示文字数│形式 │内容 ──┼────────┼─────┼───┼─────────────── 1│CONSTRAINT_NAME │ 61│文字列│制約名(#1) 2│TABLE_NAME │ 30│文字列│制約を定義している表の表識別子 3│TYPE │ 4│文字列│制約の種類 #1: この列をキーに昇順に並び替え表示します。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ DESCRIPTORS ( 抽象データ型の属性の表示 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 抽象データ型の属性を表示します。 形式 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ DESCRIPTORS [[ RDノード名[.] ] 認可識別子[.] ]抽象データ型識別子┃ ┃ または、 DESCS ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ オペランド ● RDノード名 〜<RDノード名> リモートデータベースアクセスをする場合、RDノード名を指定します。 RDノード名はリモートデータベースがHiRDBの場合のみ指定できます。 RDノード名を省略した場合、ローカルアクセスになります。 ● 認可識別子 〜<認可識別子> 抽象データ型を所有しているユーザの認可識別子を指定します。 認可識別子を省略した場合、CONNECT時の認可識別子が仮定されます。 ● 抽象データ型識別子 〜<抽象データ型識別子> 属性の情報を表示する抽象データ型識別子を指定します。 留意事項 (1) 本コマンドは、HiRDB Version 5.0以降で使用できます。 (2) RDノード名、認可識別子、抽象データ型識別子の記述については、 「( 10 ) 規則」(p)を参照してください。 出力内容 [ 接続先HiRDBのバージョンが 09-04 以前、且つディクショナリの初期設定にて 混在文字データを使用しない設定の場合] 列番│列名 │表示文字数│形式 │内容 ──┼──────┼─────┼───────┼───────────── 1│POSITION │ 8│数値 │属性ID(#1) 2│OBJECT_NAME │ 30│文字列 │属性名 3│DATA_TYPE │ 39│文字列 │データ型(#3) 4│DATA_LENGTH │ 11│文字列(右詰め)│データ長(#4) [ 上記以外の場合] 列番│列名 │表示文字数│形式 │内容 ──┼──────┼─────┼───────┼───────────── 1│POSITION │ 8│数値 │属性ID(#1) 2│OBJECT_NAME │ 30│文字列 │属性名 3│DATA_TYPE │ 61│文字列 │データ型(#3) 4│DATA_LENGTH │ 11│文字列(右詰め)│データ長(#4) #1: この列をキーに昇順に並び替え表示します。 #3: データ型が抽象データ型の場合は、データ型識別子を表示します。 #4: データ型が抽象データ型の場合は、空白で表示します。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ DISCONNECT ( HiRDBとの切り離し ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 COMMIT発行後、HiRDBから切り離します。 形式 ┏━━━━━━━━━━━━━━━━━━━┓ ┃ DISCONNECT ┃ ┗━━━━━━━━━━━━━━━━━━━┛ 留意事項 (1) DISCONNECTコマンドは、HiRDBから切り離しますが、本プログラムは終了 しません。再度、HiRDBと接続するためにはCONNECTコマンドを、本プログラ ムを終了するにはEXITコマンドを実行してください。 (2) DISCONNECTコマンドは、HiRDBから切り離す前にCOMMITを発行します。そのた め、トランザクションを無効にする場合、事前にROLLBACKを発行しておく必要 があります。 参照 CONNECT , EXIT ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ EXIT ( 本プログラムの終了 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 COMMIT & DISCONNECTを発行後、本プログラムを終了します。 形式 ┏━━━━━━━━━━━━━━━━━━━┓ ┃ EXIT ┃ ┗━━━━━━━━━━━━━━━━━━━┛ 留意事項 (1) 本プログラムの終了前に、COMMIT & DISCONNECTを発行します。そのため、 トランザクションを無効にする場合、事前にROLLBACKを発行しておく必要が あります。 (2) HiRDBに接続していない状態でEXITを投入した場合、本プログラムの終了 だけを行います。 参照 DISCONNECT ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ FILES ( RDエリアのファイル情報表示 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 RDエリアの構成ファイルの一覧を表示します。 形式 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ FILES [[ RDノード名[.] ] { RDエリア名 | ALL } ] ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ オペランド ● RDノード名 〜<RDノード名> リモートデータベースアクセスをする場合、RDノード名を指定します。 RDノード名はリモートデータベースがHiRDBの場合のみ指定できます。 RDノード名を省略した場合、ローカルアクセスになります。 ● RDエリア名 〜<識別子> RDエリア名を指定します。 指定されたRDエリアの構成ファイルの一覧を表示します。 ● ALL 全てのRDエリアの構成ファイルの一覧を表示します。 使用例 RDエリア(PDBUSER01)の構成ファイル一覧を表示します。 FILES PDBUSER01; 留意事項 (1) RDノード名、RDエリア名の記述については、「( 10 ) 規則」(p)を 参照してください。 出力内容 列番│列名 │表示文字数│形式 │内容 ──┼─────────┼─────┼───┼───────────── 1│RDAREA_ID │ 12│数値 │RDエリアID(*1) 2│RDAREA_NAME │ 30│文字列│RDエリア名 3│SERVER │ 8│文字列│サーバ名 4│PHYSICAL_FILE_ID │ 16│数値 │ファイルID(*1) 5│PHYSICAL_FILE_NAME│ 167│文字列│ファイル名 6│INITIAL_SIZE │ 12│数値 │初期割当てセグメント数 *1: RDエリアIDを第一キーに、ファイルIDを第二キーにして 昇順に並び替え表示します。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ GETFILE ( ファイルからのパラメタ入力 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 SQL文に指定した?パラメタのデータをファイルから入力します。 形式 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ GETFILE [COMMIT コミット間隔] ┃ ┃ [-k {[f][y]} [入力元ディレクトリ]] ┃ ┃ [-mf メッセージ出力先ファイル名] ┃ ┃ [-int] [-errstop] ┃ ┃ FROM 入力データファイル名 SQL文 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ オペランド ● COMMIT コミット間隔 〜<符号なし整数>(0〜2147483647) COMMITを発行する間隔を指定します。単位は、入力データの行単位です。 0以外を指定した場合、ファイルの終端に達したときは AUTO COMMITモードに関わらずに、COMMITを発行します。 0を指定した場合、ファイルの終端になるまでCOMMITは発行しません。 また、ファイルの終端に達したときCOMMITを発行するかは AUTO COMMITモードに依存します。 省略した場合は、0を仮定します。 ● [-k {[f][y]} [入力元ディレクトリ]] BINARY/BLOB/CLOBのデータ型の列データを入力するとき、 対象データ型と形式および入力元を指定します。 f: BLOB/CLOBのデータ型のとき、入力データファイルの記述をファイル名 として参照し、LOB データごとに作成されたファイルから 読み込みを行います。 y: BINARYのデータ型のとき、入力データファイルの記述をファイル名 として参照し、BINARYデータごとに作成されたファイルから 読み込みを行います。 [f]と[y]を両方指定するときは区切り文字を間に入れず連続して記述して ください。区切り文字を間に入れると[y]の記述を[入力元ディレクトリ] として処理します。 入力元ディレクトリ: LOB/BINARYデータを格納しているディレクトリを指定します。 入力元ディレクトリの指定を省略した場合は,入力データファイルと同 じディレクトリを入力元ディレクトリとします。 入力元ディレクトリは入力データファイルに記述したファイル名が相対 パス指定のとき,そのファイルの所在を特定するために使用します。 ● [-mf メッセージ出力先ファイル名] メッセージを出力するファイル名を指定します。 既にファイルが存在したときは、追加書きします。 本オペランドの指定を行ったときは、画面とファイルの両方に対して メッセージの出力を行います。 次の条件に該当したときは、エラーとなります。 ・存在しないパスをファイル名に含んでいるとき ・メッセージ出力先ファイル名が入力データファイル名と同じであったとき ・ファイルサイズが2GB以上となるとき ● [-int] データ型INTEGER/SMALLINTの列に対し、入力データが小数点以下を持つ 場合、データの小数点以下を切り捨てて実行します。 本オペランドの指定を行わなかったときは、入力データ不正の エラーとします。 ● [-errstop] 入力データ不正のとき、またはSQL実行エラーが発生したときに 処理を中断します。 本オペランドの指定を行わなかったときは、エラーが発生しても 入力データの終端まで処理を続行します。 ● 入力データファイル名 〜<ファイル名> ?パラメタのデータを格納したファイル名を指定します。 2GB未満のファイルを指定してください。 2GB以上のときはエラーとします。 ● SQL文 ・次のSQL文が指定できます。 ・INSERT文 ・DELETE文 ・UPDATE文 ・ファイルからデータを入力する列については、?パラメタを指定してください。 ・SQL文の文法についてはマニュアル「HiRDB SQLリファレンス」を 参照してください。 留意事項 (1)?パラメタの数とファイル上の列数が一致しない場合はエラーとなり、 次の行の処理に移ります。 (2) GETFILEコマンドは、環境変数 PDSQLBLOBLIMIT、PDSQLBINARYLIMIT、 PDSQLCLOBLIMITおよび、pdsqlコマンド SET ARRAY LIMIT 、 SET BINARY LIMIT、SET BLOB LIMIT、SET CLOB LIMIT、SET CHAR LIMIT、 SET FETCH LIMIT、SET NCHAR LIMITで指定した長さが入力可能な 最大長となります。(入力可能な最大長を超えるデータを入力した場合、 メッセージ:KFPX27059-Eを出力します) (3) 入力元ディレクトリ、メッセージ出力先ファイル、および入力データ ファイルを格納しているディレクトリには、書き込み権限を与えておく 必要があります。 (4) データ中に改行文字などのASCIIコード 0x00〜0x1Fを含めたいときは、 16進文字列定数で記述してください。 PUTFILEコマンドにおいて拡張DAT形式で出力したファイルは、 文字列型およびBINARY型のデータを二重引用符で囲む表記の中に変換せずに 出力しているため、データ中にASCIIコード 0x00〜0x1Fが含まれる可能性が ある場合は、拡張DAT形式で出力したファイルをGETFILEコマンドに読み込ま せないでください。 データ中のコードを意識せずに拡張DAT形式で出力したファイルをロード したい場合は、GETFILEコマンドでなく、データベース作成ユティリティ (pdload)を使用してください。 制限事項 (1)?パラメタに対する値の入力形式の「ファイル入力」形式は使用できません。 「ファイル入力」形式の詳細内容については、 「付録C.?パラメタを使用したデータの入力」の 「2.5.「ファイル入力」形式」を参照してください。 入力データファイルの記述形式 (1) SQL文の?パラメタに対応する列データを、1行に列記してください。 改行文字が行の終わりです。 入力データファイルの最終行にも改行が必要です。 (2) 列データと列データの間は、カンマ(,)で区切りってください。 (3) 1行として読み込みが可能な既定の長さ(改行文字を除く)を示します。 SJIS版の場合 :32758バイト UNICODE版にて-cs utf-8オプションを指定する場合:65517バイト UNICODE版にて上記以外の場合 :32757文字 1行として読み込みが可能な長さは、環境変数PDSQL_GETFILE_BUFFER_BYTES で変更することができます。 (4) 環境変数PDSQL_GETFILE_BUFFER_BYTESを設定している状態では、 入力データファイルに関する以下のチェックを行います。 不正を検出した場合はエラーメッセージを出力し、当該行の処理が失敗します。 行が読み込み可能な長さを超えた:KFPX27022-E 最終行に改行が存在しない :KFPX27040-E (5) 列データは、「付録C.?パラメタを使用したデータの入力」の 「2.3.「値入力」形式」で示す形式で記述することができます。 更にPUTFILEコマンドのDAT形式で出力したデータファイルに対応するため、 下記に示す記述を読み込むことが可能です。 ・アスタリスク(*)を記述したときは、表A-6に示す値に展開します。 ・列データを何も記述しない(カンマ(,)を連続し記述した)ときは、 表A-6に示す値に展開します。 ・文字列定数として文字列をアポストロフィ(' )で囲む表記 (記述例:'apple')と、文字列を二重引用符(" )で囲む表記 (記述例:"apple")のどちらにも対応します。 二重引用符で囲む表記でも、文字列の長さの制約は32,000バイト以内です。 二重引用符で囲む表記において、 アポストロフィで囲む表記と規則が異なる場合を下記に示します。 (a) データ中に二重引用符を含めたいときは、1 個の二重引用符を表すのに、 2個続けて記述してください。 データ値 :"apple","banana","cherry" 二重引用符で囲む表記:"""apple"",""banana"",""cherry""" (参考) アポストロフィで囲む表記:'"apple","banana","cherry"' (b) データ中にアポストロフィを含めたいときは、1 個のアポストロフィで 記述してください。 データ値 :'apple','banana','cherry' 二重引用符で囲む表記:"'apple','banana','cherry'" (参考) アポストロフィで囲む表記:'''apple'',''banana'',''cherry''' ・?パラメタに対応するデータ型がDATE型である場合は、 下記のいずれの記述にも対応します。 (a) 文字列をアポストロフィ(' )で囲む表記(記述例:'2000-12-31') (b) 文字列を二重引用符(" )で囲む表記(記述例:"2000-12-31") (c) 文字列を囲まない表記(記述例:2000-12-31) ・?パラメタに対応するデータ型がTIME型の小数秒指定なしである場合は、 下記のいずれの記述にも対応します。 (a) 文字列をアポストロフィ(' )で囲む表記(記述例:'12:34:56') (b) 文字列を二重引用符(" )で囲む表記(記述例:"12:34:56") (c) 文字列を囲まない表記(記述例:12:34:56) ・?パラメタに対応するデータ型がBLOB型である場合、-kオプションの指定に よって、サーバに送信する内容が異なります。 -k fオプションを指定していない場合: ・データ値を文字列定数の形式で記述してください。 記述された文字列データを送信します。 -k fオプションを指定している場合: ・LOBデータを格納しているファイル名を「“パス名\ファイル名称”」 形式で記述してください。指定されたファイルの内容を送信します。 ファイル名を「“ファイル名称”」形式で記述したときは正常動作する 保証ができません。 ・?パラメタに対応するデータ型がBINARY型である場合、-kオプションの指定に よって、サーバに送信する内容が異なります。 -k yオプションを指定していない場合: ・データ値を文字列定数の形式で記述してください。 記述された文字列データを送信します。 -k yオプションを指定している場合: ・BINARYデータを格納しているファイル名を「“パス名\ファイル名称”」 形式で記述してください。指定されたファイルの内容を送信します。 ファイル名を「“ファイル名称”」形式で記述したときは正常動作する 保証ができません。 表A-6 値の記述を省略した、またはアスタリスクを記述した場合に展開する値 ┌──────────────┬─────────────────────┐ │?パラメタに対応するデータ型│展開する値 │ ├──────────────┼─────────────────────┤ │(非ナル値制約がない場合) │NULL │ ├──────────────┼─────────────────────┤ │(非ナル値制約付きの場合) │ │ │ INTEGER │0 │ │ SMALLINT │0 │ │ DECIMAL │0 │ │ FLOAT │0 │ │ SMALLFLT │0 │ │ CHARACTER(n) │nバイトの空白 │ │ VARCHAR(n) │1バイトの空白 │ │ NCHAR(n) │n文字の空白 │ │ NVARCHAR(n) │1文字の空白 │ │ MCHAR(n) │nバイトの空白 │ │ MVARCHAR(n) │1バイトの空白 │ │ DATE │0001-01-01 │ │ TIME │00:00:00 │ │ INTERVAL YEAR TO SECOND │0ヶ年0ヶ月0ヶ日0時間0分0秒間 │ │ INTERVAL YEAR TO DAY │0ヶ年0ヶ月0ヶ日間 │ │ INTERVAL HOUR TO SECOND │0時間0分0秒間 │ │ BLOB(n) │長さ0バイトのデータ │ │ TIMESTAMP |0001-01-01△00:00:00 *(注1) │ │ BINARY(n) |長さ0バイトのデータ │ │ CLOB(n) |長さ0バイトのデータ │ └──────────────┴─────────────────────┘ *(注1) △は半角スペースを表します。 使用例 CREATE TABLE T1(C1 INT, C2 CHAR(10); GETFILE FROM /tmp/data INSERT INTO T1 VALUES(?, ?); /tmp/data の内容 1000,"AAAAAAAAAA" 2000,"BBBBBBBBBB" 3000,NULL ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ HELP ( ヘルプ ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 ヘルプを表示します。 形式 ┏━━━━━━━━━━━━━━━━━━━━━━┓ ┃ HELP [ { pdsqlコマンド名 | pdsql } ] ┃ ┃ または ? ┃ ┗━━━━━━━━━━━━━━━━━━━━━━┛ オペランド ● pdsqlコマンド名 〜<識別子>(1〜30文字) pdsqlコマンドの説明を表示します。 ● pdsql pdsqlの説明を表示します。 留意事項 (1) オペランドを省略した場合、コマンド一覧を表示します。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ INDEXCLM ( インデクスの列一覧表示 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 指定したインデクスの列一覧を表示します。 形式 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ INDEXCLM [[ RDノード名[.] ] 認可識別子[.] ] インデクス識別子 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ オペランド ● RDノード名 〜<RDノード名> リモートデータベースアクセスをする場合、RDノード名を指定します。 RDノード名はリモートデータベースがHiRDBの場合のみ指定できます。 RDノード名を省略した場合、ローカルアクセスになります。 ● 認可識別子 〜<認可識別子> インデクスを所有しているユーザの認可識別子を指定します。 認可識別子を省略した場合、CONNECT時の認可識別子が仮定されます。 ● インデクス識別子 〜<インデクス識別子> ・列の情報を表示するインデクス識別子を指定します。 ・インデクスがクラスターキーの場合、" で囲んで指定します。 例 INDEXCLM "(CLUSTER0000131196)"; 使用例 インデクス(I1)の列一覧を表示します。 INDEXCLM I1; 留意事項 (1) RDノード名、認可識別子、インデクス識別子の記述については、 「( 10 ) 規則」(p)を参照してください。 出力内容 [ 接続先HiRDBのバージョンが 05-02以前、且つディクショナリの初期設定にて 混在文字データを使用しない設定の場合] 列番│列名 │表示文字数│形式 │内容 ──┼──────┼─────┼───────┼────────── 1│INDEX_ORDER │ 12│数値 │インデクス定義順(#1) 2│COLUMN_ID │ 9│数値 │列ID 3│COLUMN_NAME │ 30│文字列 │列名 4│DATA_TYPE │ 39│文字列 │データ型 5│DATA_LENGTH │ 11│文字列(右詰め)│データ長 6│ASC_DESC │ 8│文字列 │ASC/DESC [ 接続先HiRDBのバージョンが 05-02以前、且つディクショナリの初期設定にて 混在文字データを使用する設定の場合] 列番│列名 │表示文字数│形式 │内容 ──┼──────┼─────┼───────┼────────── 1│INDEX_ORDER │ 12│数値 │インデクス定義順(#1) 2│COLUMN_ID │ 9│数値 │列ID 3│COLUMN_NAME │ 30│文字列 │列名 4│DATA_TYPE │ 61│文字列 │データ型 5│DATA_LENGTH │ 11│文字列(右詰め)│データ長 6│ASC_DESC │ 8│文字列 │ASC/DESC [ 接続先HiRDBのバージョンが 05-03〜09-04、且つディクショナリの初期設定にて 混在文字データを使用しない設定の場合] 列番│列名 │表示文字数│形式 │内容 ──┼──────┼─────┼───────┼────────── 1│INDEX_ORDER │ 12│数値 │インデクス定義順(#1) 2│COLUMN_ID │ 9│数値 │列ID 3│COLUMN_NAME │ 30│文字列 │列名 4│DATA_TYPE │ 39│文字列 │データ型 5│DATA_LENGTH │ 11│文字列(右詰め)│データ長 6│MAX_ELM │ 7│数値 │繰返し列数 7│ASC_DESC │ 8│文字列 │ASC/DESC [ 上記以外の場合] 列番│列名 │表示文字数│形式 │内容 ──┼──────┼─────┼───────┼────────── 1│INDEX_ORDER │ 12│数値 │インデクス定義順(#1) 2│COLUMN_ID │ 9│数値 │列ID 3│COLUMN_NAME │ 30│文字列 │列名 4│DATA_TYPE │ 61│文字列 │データ型 5│DATA_LENGTH │ 11│文字列(右詰め)│データ長 6│MAX_ELM │ 7│数値 │繰返し列数 7│ASC_DESC │ 8│文字列 │ASC/DESC #1: この列をキーに昇順に並び替え表示します。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ INDEXES ( インデクス一覧の表示 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 インデクスの一覧を表示します。 形式 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ INDEXES [[ RDノード名[.] ] { 認可識別子 | ALL } ] ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ オペランド ● RDノード名 〜<RDノード名> リモートデータベースアクセスをする場合、RDノード名を指定します。 RDノード名はリモートデータベースがHiRDBの場合のみ指定できます。 RDノード名を省略した場合、ローカルアクセスになります。 ● 認可識別子 〜<認可識別子> インデクスを所有しているユーザの認可識別子を指定します。 認可識別子を省略した場合は、CONNECT時の認可識別子が 仮定されます。 指定されたユーザが所有するインデクスの一覧を表示します。 ● ALL 全てのユーザが所有するインデクスの一覧を表示します。 使用例 ユーザ(認可識別子:USER1)の所有するインデクス一覧を表示します。 INDEXES USER1; 留意事項 (1) RDノード名、認可識別子の記述については、 「( 10 ) 規則」(p)を参照してください。 出力内容 [ 接続先HiRDBのバージョンが 05-02以前、且つディクショナリの初期設定にて 混在文字データを使用しない設定の場合] 列番│列名 │表示文字数│形式 │内容 ──┼──────┼─────┼───┼──────────── 1│INDEX_NAME │ 39│文字列│インデクス名(#1) 2│INDEX_ID │ 12│数値 │インデクスID 3│TABLE_NAME │ 30│文字列│表識別子 4│UNIQUE_TYPE │ 11│文字列│ユニークタイプ 5│COLUMN │ 6│数値 │インデクス構成列数 [ 接続先HiRDBのバージョンが 05-02以前、且つディクショナリの初期設定にて 混在文字データを使用する設定の場合] 列番│列名 │表示文字数│形式 │内容 ──┼──────┼─────┼───┼──────────── 1│INDEX_NAME │ 61│文字列│インデクス名(#1) 2│INDEX_ID │ 12│数値 │インデクスID 3│TABLE_NAME │ 30│文字列│表識別子 4│UNIQUE_TYPE │ 11│文字列│ユニークタイプ 5│COLUMN │ 6│数値 │インデクス構成列数 [ 接続先HiRDBのバージョンが 05-03〜09-04、且つディクショナリの初期設定にて 混在文字データを使用しない設定の場合] 列番│列名 │表示文字数│形式 │内容 ──┼──────┼─────┼───┼──────────── 1│INDEX_NAME │ 39│文字列│インデクス名(#1) 2│INDEX_ID │ 12│数値 │インデクスID 3│TABLE_NAME │ 30│文字列│表識別子 4│UNIQUE_TYPE │ 11│文字列│ユニークタイプ 5│ARRAY │ 5│文字列│繰返し列 (M) 6│COLUMN │ 6│数値 │インデクス構成列数 [ 上記以外の場合] 列番│列名 │表示文字数│形式 │内容 ──┼──────┼─────┼───┼──────────── 1│INDEX_NAME │ 61│文字列│インデクス名(#1) 2│INDEX_ID │ 12│数値 │インデクスID 3│TABLE_NAME │ 30│文字列│表識別子 4│UNIQUE_TYPE │ 11│文字列│ユニークタイプ 5│ARRAY │ 5│文字列│繰返し列 (M) 6│COLUMN │ 6│数値 │インデクス構成列数 #1: この列をキーに昇順に並び替え表示します。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ITERATE ( SQL又はpdsqlコマンドの繰り返し指定の終了 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 BLOCK / ITERATEの間のSQL又はpdsqlコマンドの指定を終了します。 参照 詳細は BLOCKを参照してください。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ LOBS ( LOB用RDエリアの表示 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 LOB用に割り当てられているRDエリアを表示します。 形式 ┏━━━━━━━━━━━━━━━━━━━┓ ┃ LOBS [ RDノード名 ] ┃ ┗━━━━━━━━━━━━━━━━━━━┛ オペランド ● RDノード名 〜<RDノード名> リモートデータベースアクセスをする場合、RDノード名を指定します。 RDノード名はリモートデータベースがHiRDBの場合のみ指定できます。 RDノード名を省略した場合、ローカルアクセスになります。 留意事項 (1) RDノード名の記述については、「( 10 ) 規則」(p)を参照してください。 (2) BLOB型を含む抽象データ型を用いて表の定義をしているときは, RDエリアを使用している列の情報を表示しません。 使用している列の情報を調べたいときは、データディクショナリ表 (SQL_DIV_COLUMN, SQL_COLUMNS, SQL_DATATYPES)を参照してください。 出力内容 [ 接続先HiRDBのバージョンが 09-04以前、且つディクショナリの初期設定にて 混在文字データを使用しない設定の場合] 列番│列名 │表示文字数│形式 │内容 ──┼──────┼─────┼───┼────────── 1│RDAREA_NAME │ 30│文字列│RDエリア名(#1) 2│COLUMN/INDEX│ 70│文字列│列名 3│DIV_NO │ 6│数値 │分割条件指定順序 4│DATA_LENGTH │ 11│文字列│データ長 [ 上記以外の場合] 列番│列名 │表示文字数│形式 │内容 ──┼──────┼─────┼───┼────────── 1│RDAREA_NAME │ 30│文字列│RDエリア名(#1) 2│COLUMN/INDEX│ 92│文字列│列名 3│DIV_NO │ 6│数値 │分割条件指定順序 4│DATA_LENGTH │ 11│文字列│データ長 #1: この列をキーに昇順に並び替え表示します。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ PRPARAMS ( パラメタ一覧の表示 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 指定した手続きのパラメタ一覧を表示します。 形式 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ PRPARAMS [[ RDノード名[.] ] 認可識別子[.] ] 手続き名 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ オペランド ● RDノード名 〜<RDノード名> リモートデータベースアクセスをする場合、RDノード名を指定します。 RDノード名はリモートデータベースがHiRDBの場合のみ指定できます。 RDノード名を省略した場合、ローカルアクセスになります。 ● 認可識別子 〜<認可識別子> 手続きを所有しているユーザの認可識別子を指定します。 認可識別子を省略した場合、CONNECT時の認可識別子が仮定されます。 ● 手続き名 〜<識別子> パラメタの情報を表示する手続き名を指定します。 使用例 手続き(P1)のパラメタ一覧を表示します。 PRPARAMS P1; 留意事項 (1) RDノード名、認可識別子、手続き名の記述については、 「( 10 ) 規則」(p)を参照してください。 出力内容 列番│列名 │表示文字数│形式 │内容 ──┼───────┼─────┼───────┼────────── 1│NO │ 6│数値 │パラメタ指定順序(*1) 2│MODE │ 5│文字列 │パラメタ入出力モード 3│PARAMETER_NAME│ 30│文字列 │パラメタ名 4│DATA_TYPE │ 24│文字列 │データ型 5│DATA_LENGTH │ 11│文字列(右詰め)│データ長 *1: この列をキーに昇順に並び替え表示します。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ PUTFILE ( 検索結果のファイル出力 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 検索した結果をファイルに出力します。 ・DAT形式 ・拡張DAT形式 ・バイナリ形式 ・固定長データ形式 形式 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ PUTFILE [ADD][COL_NAME] ┃ ┃ [{DAT | EXTDAT | BINARY | FIX | SEPARATOR_TAB | BIN_PDRORG}]┃ ┃ [QUOT_OFF] [{LF | CRLF}][SUP] ┃ ┃ [DATE_TO_CHAR] [TIME_TO_CHAR] [TIMESTAMP_TO_CHAR] ┃ ┃ [-q 囲み文字] ┃ ┃ [-k {[{f | c}][y]} [格納先ディレクトリ]] ┃ ┃ [-s セパレータ文字] ┃ ┃ [-m メッセージ出力間隔] ┃ ┃ [-mf メッセージ出力先ファイル名] ┃ ┃ [-c 列構成情報出力先ファイル名] ┃ ┃ [{-dc ファイルに格納する最大件数 ┃ ┃ | -ds ファイルの最大サイズ}] [-dr] ┃ ┃ TO 出力データファイル名 SELECT文 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ オペランド ● ADD 出力データファイル名に指定したファイルが既に存在していたときに、 本オペランドの有無によって追加書き込み/上書き(既存の情報を消去し、 書き込み)の切り替えを行います。 オペランド指定ありのとき: 追加書き込みを行ないます。 既存ファイルの形式チェックは行ないません。 オペランド指定なしのとき: 上書き(既存の情報を消去し、書き込み)を行ないます。 ● COL_NAME 検索した結果をDAT形式、又は拡張DAT形式で出力するとき、 先頭行に抽出列名を出力します。 出力形式にBINARY、FIX、BIN_PDRORGを指定したときにこのオペランドを 指定するとエラーとなります。 ● {DAT | EXTDAT | BINARY | FIX | SEPARATOR_TAB | BIN_PDRORG} <> ● DAT 検索した結果をDAT形式で出力する場合に指定します。 (列区切り文字の既定値:カンマ) この形式の出力ファイルはデータベース作成ユティリティ(pdload )で DAT形式の入力データファイルとして使用できます。 ● EXTDAT 検索した結果を拡張DAT形式で出力する場合に指定します。 (列区切り文字の既定値:カンマ) この形式の出力ファイルはデータベース作成ユティリティ(pdload )で 拡張DAT形式の入力データファイルとして使用できます。 ● BINARY 検索した結果をバイナリ(FIX表対応)形式で出力する場合に指定します。 この形式の出力ファイルはデータベース作成ユティリティ(pdload)で FIX表に対するバイナリ形式の入力データファイルとして使用できます。 ● FIX 検索した結果を固定長データ形式で出力する場合に指定します。 この形式の出力ファイルはデータベース作成ユティリティ(pdload )で 固定長データ形式の入力データファイルとして使用できます。 ● SEPARATOR_TAB 検索した結果をDAT形式で出力する場合に指定します。 (列区切り文字の既定値:タブ) この形式の出力ファイルはデータベース作成ユティリティ(pdload )で DAT形式の入力データファイルとして使用できます。 ● BIN_PDRORG 検索した結果をバイナリ(非FIX表対応)形式で出力する場合に指定します。 この形式の出力ファイルはデータベース作成ユティリティ(pdload)で 非FIX表に対するバイナリ形式の入力データファイルとして使用できますが、 FIX表に対するバイナリ形式の入力データファイルとしては使用できません。 ● QUOT_OFF 検索した結果をDAT形式または拡張DAT形式で出力するとき、 出力データの前後を囲み文字で囲まずに出力する場合に指定します。 出力形式にBINARYおよびFIX、BIN_PDRORGを指定したときにこのオペランドを 指定するとエラーとなります。 対象となるのはCHAR/VARCHAR/MCHAR/MVARCHAR/NCHAR/NVARCHAR/BINARYの データ型です。 省略した場合、上記のデータ型のデータは前後を囲み文字で囲んで 出力します。 ● {LF | CRLF} 検索した結果をDAT形式、拡張DAT形式、又は固定長データ形式で 出力するとき、検索した行1行の終わりを表す改行コードの出力方法を 指定します。 指定を行わなかった場合、プラットフォームにより出力が異なります。 Windows、Windows IPF:<> 上記以外:<> 出力形式にBINARY、BIN_PDRORGを指定したときにこのオペランドを 指定するとエラーとなります。 LF : 0x0Aで改行コードを出力します。 CRLF : 0x0D、0x0Aで改行コードを出力します。 ● SUP 検索した結果をDAT形式、又は拡張DAT形式でCHAR、NCHAR、MCHAR型の 列データを出力するとき、列データの後方に連続する空白を出力しないときに 指定します。 出力形式にBINARY、FIX、BIN_PDRORGを指定したときにこのオペランドを 指定するとエラーとなります。 本オペランドを使用することにより、出力するデータ量の削減ができます。 ここでいう空白とは、データ型によって異なります。 CHAR型,MCHAR型 :半角空白(コード0x20) NCHAR型 :全角空白 全角空白はHiRDB SQL Executerが動作するプラットフォームによって 異なります。 Windows版,AIX版,HP-IPF版:コード0x8140の全角空白 Linux版 :コード0xA1A1の全角空白 SUPオプションは文字データの後方に上記のコードが出現したときに、 有効になります。 出力例: データ型 : MCHAR(32) 挿入データ : " Naka-Ku Yokohama " SUPオペランドなし: " Naka-Ku Yokohama " SUPオペランドあり: " Naka-Ku Yokohama" ● [DATE_TO_CHAR] [TIME_TO_CHAR] [TIMESTAMP_TO_CHAR] 検索した結果をDAT形式または拡張DAT形式で出力するとき、 出力データの前後を囲み文字で囲んで出力する場合に指定します。 出力形式にBINARYおよびFIX、BIN_PDRORGを指定したときに このオペランドを指定するとエラーとなります。 DATE_TO_CHAR を指定したとき対象となるのは DATE のデータ型です。 TIME_TO_CHAR を指定したとき対象となるのは HiRDBに接続時の TIME のデータ型です。 TIMESTAMP_TO_CHAR を指定したとき対象となるのは TIMESTAMP の データ型です。 省略した場合、上記のデータ型のデータは前後を囲み文字で囲まずに 出力します。 ● [-q 囲み文字] 〜<[0-9][a-z][A-Z]又は半角記号文字> 検索した結果をDAT形式、又は拡張DAT形式で出力するとき、 囲み文字を指定します。 囲み文字はシングルクォート( ' )で囲んでください。 囲み文字にシングルクォート( ' )を指定する場合は、 シングルクォートを連続して記述してください。 囲み文字に円記号( \ )を指定する場合は、 円記号を連続して記述してください。 囲み文字として2文字以上指定されたときは、 先頭1文字を囲み文字とし、2文字目以降を無効とします。 省略した場合は、二重引用符( " )を仮定します。 記述例: 囲み文字にパーセント( % )を指定する場合 -q '%' 囲み文字にシングルクォート( ' )を指定する場合 -q '''' 次の条件に該当したときは、エラーとなります。 ・出力形式にBINARY、FIX、BIN_PDRORGのいずれかを指定しており、 なおかつ本オペランドを指定したとき ・QUOT_OFFオペランドを指定しており、なおかつ本オペランドを指定したとき ・囲み文字としてセパレータ文字と同じ文字を指定したとき ● [-k {[{f | c}][y]} [格納先ディレクトリ]] BINARY/BLOB/CLOBのデータ型の列データを、出力データファイルとは別の ファイルに出力するとき、対象データ型と形式および出力先を指定します。 出力形式にBINARYおよびFIX、BIN_PDRORGを指定したときに このオペランドを指定するとエラーとなります。 f: BLOB/CLOBのデータ型のとき、LOB データごとにファイルを作成します。 作成するファイル名の形式はxxxx_yyyyyyyyyyです。 xxxxには列名を展開します。 yyyyyyyyyyには10桁固定の長さで通番を展開します。 c: BLOB/CLOBのデータ型のとき、一つのLOB 列にある複数のLOB データを、 一つのファイルとして作成します。 作成するファイル名の形式はxxxxです。 xxxxには列名を展開します。 y: BINARYのデータ型のとき、BINARY データごとにファイルを作成します。 作成するファイル名の形式はxxxx_yyyyyyyyyyです。 xxxxには列名を展開します。 yyyyyyyyyyには10桁固定の長さで通番を展開します。 列名に英小文字を含むときは、列名の前後を括弧(())で囲みます。 同じファイルが存在したときは、上書きします。 [{f | c}]と[y]を両方指定するときは区切り文字を間に入れず連続して記述 してください。区切り文字を間に入れると[y]の記述を[格納先ディレクトリ] として処理します。 格納先ディレクトリ: データファイルを出力するディレクトリ指定します。 存在しないディレクトリを指定している場合は、 出力時にエラーとなります。 省略した場合は、出力データファイルと同じ場所を仮定します。 出力するファイルサイズが2GB未満となるように運用してください。 2GB以上となるとエラーになります。 ● [-s セパレータ文字] 〜<[0-9][a-z][A-Z]又は半角記号文字又はタブ> 検索した結果をDAT形式、又は拡張DAT形式で出力するとき、 列区切り文字を指定します。 セパレータ文字はシングルクォート( ' )で囲んでください。 セパレータ文字にシングルクォート( ' )を指定する場合は、 シングルクォートを連続して記述してください。 セパレータ文字に円記号( \ )を指定する場合は、 円記号を連続して記述してください。 セパレータ文字にタブを指定する場合は、'\t'と記述してください。 セパレータ文字として2文字以上指定されたときは、 先頭1文字をセパレータ文字とし、2文字目以降を無効とします。 省略した場合は、カンマ( , )を仮定します。 記述例: セパレータ文字にイコール( = )を指定する場合 -s '=' セパレータ文字に円記号( \ )を指定する場合 -s '\\' セパレータ文字にタブを指定する場合 -s '\t' 次の条件に該当したときは、エラーとなります。 ・出力形式にBINARY、FIX、BIN_PDRORGのいずれかを指定しており、 なおかつ本オペランドを指定したとき ・セパレータ文字として囲み文字と同じ文字を指定したとき ● [-m メッセージ出力間隔] 〜<符号なし整数>(100〜100000000) 経過メッセージ出力間隔を指定します。単位は、出力行単位です。 本オペランドの指定を行わなかったときは、経過メッセージの出力を 行いません。 ● [-mf メッセージ出力先ファイル名] 経過メッセージを出力するファイル名を指定します。 既にファイルが存在したときは、追加書きします。 本オペランドの指定を行ったときは、画面とファイルの両方に対して 経過メッセージの出力を行います。 次の条件に該当したときは、エラーとなります。 ・存在しないパスをファイル名に含んでいるとき ・-mオペランドを指定せずに、このオペランドを指定したとき ・メッセージ出力先ファイル名が次に示すファイル名と同じであったとき (i)出力データファイル名 (ii)列構成情報出力先ファイル名 ・ファイルサイズが2GB以上となるとき ● [-c 列構成情報出力先ファイル名] 列構成情報を出力するファイル名を指定します。 このファイルはデータベース作成ユティリティ(pdload)でデータロードを 行なう際に、列構成情報ファイルとして使用できます。 既にファイルが存在したときは、上書きします。 出力形式にFIX(固定長データ形式)を指定したときは、列構成情報として 以下の情報を出力します。 ・列名とtype句を記述した行 ・データファイル上の改行文字に対応する[*skipdata*]と length句を記述した行 出力形式にその他の出力形式を指定したときは、列構成情報として 以下の情報を出力します。 ・列名のみを記述した行 列構成情報出力先ファイル名が次に示すファイル名と同じであったときは、 エラーとなります。 (i)出力データファイル名 (ii)メッセージ出力先ファイル名 ● [{-dc ファイルに格納する最大件数 | -ds ファイルの最大サイズ}] [-dr] 本オペランドを指定すると、検索した結果を複数のファイルに分割して 出力します。 ファイル毎の処理開始時にメッセージ(KFPX27926-I)を表示します。 ファイル毎の処理終了時に1件以上のデータ出力がある場合、 メッセージ(KFPX27010-I)を表示します。 ● -dc ファイルに格納する最大件数 〜<符号なし整数>(100〜100000000) 1つのデータファイルの最大件数を指定します。 出力するデータファイル名の形式はxxxx_caaaaaです。 xxxxには指定された出力データファイル名を展開します。 aaaaaには5桁固定の長さでファイル通番を展開します。 ファイル通番の開始番号は1です。 最大件数を超える検索結果が存在したときに、 ファイル通番を+1した別のファイルに書き出しを行ないます。 (出力データファイル名の指定を”TBL1”とした場合のファイル名の例) TBL1_c00001 TBL1_c00002 TBL1_c00003 .... 実行中に次の条件に該当したときは、エラーとし処理を打ち切ります。 (i)出力するファイルの数が10万以上となる。 (ii)ファイル出力がエラーとなる。 ● -ds ファイルの最大サイズ 〜<符号なし整数>(100〜104857600) 1つのデータファイルの最大サイズ(キロバイト単位)を指定します。 出力するファイルのファイル名の形式はxxxx_saaaaaです。 xxxxには指定された出力データファイル名を展開します。 aaaaaには5桁固定の長さでファイル通番を展開します。 ファイル通番の開始番号は1です。 1件のデータをファイルに出力する前に、出力した結果のファイルサイズが 最大サイズを超えるかを判定し、超えると判定したときに、ファイル通番を +1した別のファイルに書き出しを行ないます。 (出力データファイル名の指定を”TBL1”とした場合のファイル名の例) TBL1_s00001 TBL1_s00002 TBL1_s00003 .... 次の条件に該当したときは、エラーとなります。 ・出力形式にBIN_PDRORGを指定しており、なおかつ本オペランドを 指定したとき 実行中に次の条件に該当したときは、エラーとし処理を打ち切ります。 (i)1件の出力データの長さが指定のファイルサイズを越える。 (ii)出力するファイルの数が10万以上となる。 (iii)ファイル出力がエラーとなる。 ● -dr 表の横分割(RDエリア)毎に出力先ファイルを分けます。 RDエリア毎に出力するファイルのファイル名の形式は次の通りです。 <-dc 又は -ds の指定がない場合> ファイル名の形式はxxxx_yyyyyです。 xxxxには指定された出力データファイル名を展開します。 yyyyyにはRDエリア名を展開します。 RDエリア名に英小文字を含むときは、RDエリア名の前後を 括弧(())で囲みます。 <-dc 又は -ds の指定がある場合> ファイル名の形式はxxxx_yyyyy_zaaaaaです。 xxxxには指定された出力データファイル名を展開します。 yyyyyにはRDエリア名を展開します。 RDエリア名に英小文字を含むときは、RDエリア名の前後を 括弧(())で囲みます。 zには、-dcが指定されているときは’c’を、-dsが指定されているときは ’s’を展開します。 aaaaaには5桁固定の長さでRDエリア毎のファイル通番を展開します。 ファイル通番の開始番号は1です。 次の条件に該当したときは、RDエリア毎に出力することができないため エラーとなります。 ・接続先のHiRDBサーバのバージョンが 08-04未満である。 ・HiRDBクライアントのバージョンが 08-04未満である。 ・SELECT文において副問合せや表結合を行なっている。 ・SELECT文においてWITH句、又は{UNION | EXCEPT}を使用している。 ・SELECT文のFROM句においてリストを指定している。 ・SELECT文の表参照においてビュー表を指定している。 ・SELECT文の表参照において非分割の表を指定している。 ・SELECT文の表参照においてRDエリア指定が行われている。 実行中に次の条件に該当したときは、エラーとし処理を打ち切ります。 (i) ファイル通番が10万以上となる。 (ii)ファイル出力がエラーとなる。 (iii)SQL実行がエラーとなる。 ● 出力データファイル名 〜<ファイル名> 検索した結果を格納するファイル名を指定します。 存在しないパスをファイル名に含んでいる場合は、 出力時にエラーとなります。 パス名を指定した場合は指定したディレクトリ下に、指定しなかった場合は カレントディレクトリに出力されます。 検索した結果を複数のファイルに分割して出力するオペランドを指定したとき は、指定された出力データファイル名より長いファイル名となります。詳細は [{-dc ファイルに格納する最大件数 | -ds ファイルの最大サイズ}] [-dr] オペランドの説明を参照してください。 1ファイルあたりのサイズが2GB以上となるとエラーになります。 1ファイルあたりのサイズが2GB未満となるように、データ件数の絞り込みや 複数のファイルに分割して出力する指定を行ってください。 ● SELECT文 SELECT文の文法については、マニュアル「HiRDB SQLリファレンス」を参 照してください。 留意事項 (1) PUTFILEコマンドは、以下の環境変数とpdsqlコマンドで指定した 制限を受けた結果が検索結果として出力されます。 環境変数: ・PDSQLBLOBLIMIT ・PDSQLBINARYLIMIT、 ・PDSQLCLOBLIMIT pdsqlコマンド: ・SET ARRAY LIMIT ・SET BINARY LIMIT ・SET BLOB LIMIT ・SET CLOB LIMIT ・SET CHAR LIMIT ・SET FETCH LIMIT ・SET NCHAR LIMIT (2) 列名の規則については、マニュアル「HiRDB UAP開発ガイド」の 「付録C 列名記述領域」にある「表C-1 列名記述領域の内容」 を参照してください。 (3) データファイルや列構成情報ファイルをデータベース作成ユティリティ (pdload)に読み込ませデータロードをするときは、形式や書式に対応する オプションを指定する必要があります。 データベース作成ユティリティ(pdload)で必要な指定を表A-7に示します。 表A-7 データベース作成ユティリティ(pdload)で必要な指定 ┌─┬─────────┬─────────────────────────┐ │ │ │データベース作成ユティリティ(pdload)を使用し │ │ │PUTFILEコマンド │データロードする場合に必要とする指定 │ │ ├─────────┼────────────┬────────────┤ │#│オプション指定 │コマンドオプション │制御情報ファイル内の記述│ ├─┼─────────┼────────────┼────────────┤ │1 │EXTDAT │ │extdat │ │2 │FIX │-a -c 列構成情報ファイル│ │ │3 │BINARY │-b -W (#1)│ │ │4 │BIN_PDRORG │-b -W (#2)│ │ │5 │-q 囲み文字 │ │extdat enclose=囲み文字 │ │6 │-k f │-k f │lobdata │ │7 │-k c │-k c │lobcolumn │ │8 │-s セパレータ文字 │-s セパレータ文字 │ │ │9 │-cs utf-16be │ │option charset=utf-16be │ │10│-cs utf-16le │ │option charset=utf-16le │ └─┴─────────┴────────────┴────────────┘ 空欄は、該当する必須の指定がないことを示します。 #1:FIX表を対象としてください。 #2:非FIX表を対象としてください。 (4) SELECT文の先頭に単純注釈を記述しないでください。 単純注釈を記述したときはメッセージ KFPX27040-E Invalid PUTFILE command を出力し、エラーとなります。 (5) 固定長データ形式でROW、BLOB型またはBINARY型を指定し出力したファイルを データベース作成ユティリティ(pdload)に読み込ませると失敗することが あります。 以下に示す形式で出力してください。 (a) SELECT文でROWを指定した検索結果は、BINARYオプション (固定長バイナリ形式)で出力してください。 (b) SELECT文でBLOB型またはBINARY型を指定した検索結果は、 BIN_PDRORGオプション(可変長バイナリ形式)で出力してください。 (6) PUTFILEコマンドにおいて拡張DAT形式で出力したファイルは、 文字列型およびBINARY型のデータを二重引用符で囲む表記の中に変換せずに 出力しているため、データ中にASCIIコード 0x00〜0x1Fが含まれる可能性が あります。 GETFILEコマンドではデータ中にASCIIコード 0x00〜0x1Fが含まれていると 正しく処理できないため、データ中のコードを意識せずに拡張DAT形式で出力 したファイルをロードしたい場合は、GETFILEコマンドでなく、データベース 作成ユティリティ(pdload)を使用してください。 出力形式 以下にあげられていないデータ型を検索結果に含む場合はエラーとなります。 <DAT形式><拡張DAT形式> ・検索した行1行に対して、1行のデータを出力します。 (行の終わりには改行コードを付加します。) ・列データと列データの間は、列区切り文字で区切ります。 ・1行は最大2,097,152バイトです。 ・ファイルに出力したデータは、pdloadの入力データとして使用できます。 ・検索した文字データ及びBINARY型データ中に表示不可文字( ナル文字など ASCIIコード 0x00〜0x1F)がある場合、出力形式によって 出力が異なります。 DAT形式 : 表示不可文字を空白に変換して出力します。 拡張DAT形式 : 表示不可文字を変換せずに出力します。 ・検索した文字データ及びBINARY型データ中に囲み文字と 同じ文字がある場合、出力形式によって出力が異なります。 DAT形式 : 文字を変換せずに出力します。 拡張DAT形式 : 文字を二重出力します。 QUOT_OFFオペランドを指定したときは、囲み文字が存在しないため DAT形式、拡張DAT形式ともに文字を変換せずに出力します。 QUOT_OFFオペランドなしでの出力例(囲み文字が二重引用符のとき): 格納データ : famous "Suzuki" DAT形式 : "famous "Suzuki"" 拡張DAT形式 : "famous ""Suzuki""" データの出力形式を表A-1に示します。なお、表にないデータ型を検索結果 に含む場合はエラーとなります。 表A-1 データ出力形式(DAT形式、拡張DAT形式) ┌───────┬───────────────────────┬─────┐ │データ型 │データ出力形式 │ナル値 │ ├───────┼───────────────────────┼─────┤ │INTERVAL YEAR │・数値[-]yyyymmddhhmmss.[nnnnnn]の形式で │*(*1) │ │ TO SECOND│ 出力します。 │ │ │ │・マイナスは、"−"符号を付けます。 │ │ │ │・小数点以下はデータの定義長に依存します。 │ │ │ │ │ │ │INTERVAL YEAR │・数値[-]yyyymmdd.の形式で出力します。 │*(*1) │ │ TO DAY │・マイナスは、"−"符号を付けます。 │ │ │ │ │ │ │INTERVAL HOUR │・数値[-]hhmmss.[nnnnnn]の形式で出力します。 │*(*1) │ │ TO SECOND│・マイナスは、"−"符号を付けます。 │ │ │ │・小数点以下はデータの定義長に依存します。 │ │ │ │ │ │ │DATE │・文字列yyyy-mm-ddの形式で出力します。 │*(*1) │ │ │ DATE_TO_CHARオペランドが指定されている │ │ │ │ 場合は前後を囲み文字で囲んで出力します。 │ │ │ │ │ │ │TIME │・文字列hh:mm:ss[.nnnnnn]の形式で出力します。 │(*5) │ │ │ (*4) │ │ │ │・小数点以下はデータの定義長に依存します。 │ │ │ │ │ │ │TIMESTAMP │・文字列yyyy-mm-dd△hh:mm:ss[.nnnnnn]の形式で │*(*1) │ │ │ 出力します。(*2) │ │ │ │ TIMESTAMP_TO_CHARオペランドが指定されている │ │ │ │ 場合は前後を囲み文字で囲んで出力します。 │ │ │ │・小数点以下はデータの定義長に依存します。 │ │ │ │ │ │ │BINARY │・前後を囲み文字で囲んで出力します。(*3) │出力しない│ │ │・0バイト長の場合、何も出力しません。 │ │ │ │ │ │ │BLOB 及び│(*6) │(*6) │ │CLOB │ │ │ │ │ │ │ │MVARCHAR 及び│・前後を囲み文字で囲んで出力します。(*3) │出力しない│ │MCHAR 及び│・0バイト長の場合、何も出力しません。 │ │ │NVARCHAR 及び│ │ │ │NCHAR 及び│ │ │ │VARCHAR 及び│ │ │ │CHAR │ │ │ │ │ │ │ │FLOAT 及び│・仮数部E指数部で構成します。 │*(*1) │ │SMALLFLT │ (*7) │ │ │ │ │ │ │DECIMAL │・符号部、整数部、小数点、小数部で構成します。│*(*1) │ │ │・正の値のときは、符号部が空白です。 │ │ │ │ 負の値のときは、符号部が"−"符号です。 │ │ │ │・整数部、小数部ともに検索列のデータ型から求め│ │ │ │ られる桁数を10進文字列として出力します。 │ │ │ │ 値が桁数に満たないときは文字0を埋めて │ │ │ │ 出力します。 │ │ │ │ │ │ │INTEGER 及び│・数値を10進文字列として右詰で出力します。 │*(*1) │ │SMALLINT │・負の値のときは、10進文字列の直前に"−" │ │ │ │ 符号を出力します。 │ │ └───────┴───────────────────────┴─────┘ *1)環境変数 PDUAPPTFNULLにONを設定した場合は、何も出力しません。 環境変数 PDUAPPTFNULLにOFFを設定した場合は、*を出力します。 環境変数 PDUAPPTFNULLを設定していない場合は、*を出力します。 *2)△は半角スペースを表します。 *3)QUOT_OFFオペランドが指定されている場合は 前後を囲み文字で囲まずに出力します。 *4)接続するサーバによって、出力内容が異なります。 HiRDB に接続している場合: 前後を囲み文字で囲まずに出力します。 囲み文字で囲んで出力するにはTIME_TO_CHARオペランドを指定してください。 XDM/RD E2 に接続している場合: 前後を囲み文字で囲んで出力します。 囲み文字で囲まずに出力するにはQUOT_OFFオペランドを指定してください。 *5)接続するサーバによって、ナル値の出力内容が異なります。 HiRDB に接続している場合:*1)を参照してください。 XDM/RD E2 に接続している場合:何も出力しません。 *6)-kオプションの指定によって、出力内容が異なります。 -kオプションを指定していない場合: ・0バイト長の場合、何も出力しません。 ・1バイト以上の場合、ナル値で出力します。 ・ナル値の出力内容については、*1)を参照してください。 -kオプションを指定している場合: ・ナル値以外の場合は、LOBデータファイル又はLOB列データファイルの ファイル名を出力します。 ・ナル値の場合は、何も出力しません。 *7)指数部が2桁以内で表現可能な値のときは、プラットフォームにより 出力形式が異なります。 Windows、Windows IPF:符号を除く指数部を3桁の10進文字列で表現します。 上記以外:符号を除く指数部を2桁の10進文字列で表現します。 <バイナリ(FIX表対応)形式> ・行データの出力形式がpdrorgコマンドでFIX表をアンロードした場合の 形式です。 行データの出力形式はマニュアル「HiRDB コマンドリファレンス」の 「8.3.3 データベース作成ユティリティの入力用ファイルの形式」の 「(2) バイナリ形式の場合」の「FIX表の場合」を参照してください。 列データの出力形式はマニュアル「HiRDB コマンドリファレンス」の 「5.5.2 バイナリ形式の場合」を参照してください。 ・可変長型(MVARCHAR,VARCHAR,NVARCHAR,BINARY,BLOB )を含む非FIX表に 対し、この形式を指定した場合は可変長型として列データを出力します。 BINARY型およびBLOB型は、マニュアル「HiRDB コマンドリファレンス」の表 「各データ型に対する列データ・パラメタの記述形式(バイナリ形式)」 において、それぞれ下記の出力形式となります。 BINARY:<データベース作成ユティリティの入力データファイルの場合> BLOB :<-k v, 又は-k dの場合> ・ナル値を持つことができる非FIX表に対し、この形式を指定した場合は ナル値を表A-2に示す値で出力します。 ・本データ形式で出力したファイルをデータベース作成ユティリティ (pdload)でロードする場合はナル値・関数情報ファイルでナル値を 上記の出力値に指定してください。 その時、ナル値の出力値と同じ値の実データがあるとその データもナル値としてロードされるので注意してください。 ・SELECT 文で選択式に ROWを指定した場合、バイナリデータを出力します。 ROWで取り出した行データを用いてデータの移行を行う場合は、 サーバのエンディアンおよび文字コード種別を合わせる必要があります。 ・表A-2にないデータ型を検索結果に含む場合はエラーとなります。 表A-2 データがナル値の場合の出力値(バイナリ(FIX表対応)形式) ┌────────────┬──────────────────┐ │データ型 │ナル値の場合の出力値 │ ├────────────┼──────────────────┤ │INTERVAL YEAR TO SECOND │00000000000000. │ │INTERVAL YEAR TO DAY │00000000. │ │INTERVAL HOUR TO SECOND │000000. │ │DATE │0001-01-01 │ │TIME │(*2) │ │TIMESTAMP │0001-01-01△00:00:00(*1) │ │BINARY │長さ0バイトのデータ │ │BLOB │長さ0バイトのデータ │ │MVARCHAR │1つの半角空白 │ │MCHAR │定義長分の半角空白 │ │NVARCHAR │2つの半角空白 │ │NCHAR │定義長分の倍の半角空白 │ │VARCHAR │1つの半角空白 │ │CHAR │定義長分の半角空白 │ │FLOAT │0 │ │SMALLFLT │0 │ │DECIMAL │0 │ │INTEGER │0 │ │SMALLINT │0 │ └────────────┴──────────────────┘ *1)△は半角スペースを表します。 *2)接続するサーバによって、出力内容が異なります。 HiRDB に接続している場合:00:00:00 XDM/RD E2 に接続している場合: 8(位取りがある場合は、9+位取り) バイトの空白。 <バイナリ(非FIX表対応)形式> ・行データの出力形式がpdrorgコマンドで非FIX表をアンロードした場合の 形式です。 行データの出力形式はマニュアル「HiRDB コマンドリファレンス」の 「8.3.3 データベース作成ユティリティの入力用ファイルの形式」の 「(2) バイナリ形式の場合」の「非FIX表の場合」を参照してください。 列データの出力形式はマニュアル「HiRDB コマンドリファレンス」の 「5.5.2 バイナリ形式の場合」を参照してください。 BINARY型およびBLOB型は、マニュアル「HiRDB コマンドリファレンス」の表 「各データ型に対する列データ・パラメタの記述形式(バイナリ形式)」 において<データベース再編成ユティリティの-W指定の入力データファイル の場合>の出力形式となります。 ・本データ形式で出力したファイルをデータベース作成ユティリティ (pdload)にて、FIX表へのデータロードは行えません。 <固定長データ形式> ・検索した行1行に対して、1行のデータを出力します。(行の終わりには改 行文字を付加します。) ・列データと列データの間はありません。 ・1行は最大2,097,152バイトです。 ・ファイルに出力したデータは、pdloadの入力データとして使用できます。 ・SELECT 文で選択式に ROWを指定した場合、文字データ(CHAR型と同等) として出力します。 ROWで取り出した行データを用いてデータの移行を行う場合は、 サーバのエンディアンおよび文字コード種別を合わせる必要があります。 出力領域の長さを表A-3に、データの出力形式を表A-4に示します。 なお、表にないデータ型を検索結果に含む場合はエラーとなります。 表A-3 出力領域の長さ(固定長データ形式) ┌────────────┬──────────────────┐ │データ型 │出力領域の長さ[バイト](*1) │ ├────────────┼──────────────────┤ │INTERVAL YEAR TO SECOND │16+位取り │ │INTERVAL YEAR TO DAY │10 │ │INTERVAL HOUR TO SECOND │8+位取り │ │DATE │10 │ │TIME │8(位取りがある場合は、9+位取り) │ │TIMESTAMP │19(位取りがある場合は、20+位取り) │ │BINARY │最大格納バイト数(*2) │ │BLOB │最大格納バイト数(*2) │ │MVARCHAR │最大格納バイト数(*2) │ │MCHAR │格納バイト数(*2) │ │NVARCHAR │最大格納文字数の倍(*2) │ │NCHAR │格納文字数の倍(*2) │ │VARCHAR │最大格納バイト数(*2) │ │CHAR │格納バイト数(*2) │ │FLOAT │23 │ │SMALLFLT │23 │ │DECIMAL │精度+2 │ │INTEGER │11 │ │SMALLINT │6 │ └────────────┴──────────────────┘ *1)UNICODE版では、文字で出力を行うため本表が適用できません。 *2)SET xxxx LIMITコマンドにより、長さを短くすることができます。 表A-4 データ出力形式(固定長データ形式) ┌───────┬───────────────────────┐ │データ型 │データ出力形式(*1) │ ├───────┼───────────────────────┤ │INTERVAL YEAR │・数値[-]yyyymmddhhmmss.[nnnnnn]の形式の右詰で│ │ TO SECOND│ 出力します。 │ │ │・マイナスは、"−"符号を付けます。 │ │ │・小数点以下はデータの定義長に依存します。 │ │ │ │ │INTERVAL YEAR │・数値[-]yyyymmdd.の形式の右詰で出力します。 │ │ TO DAY │・マイナスは、"−"符号を付けます。 │ │ │ │ │INTERVAL HOUR │・数値[-]hhmmss.[nnnnnn]の形式の右詰で │ │ TO SECOND│ 出力します。 │ │ │・マイナスは、"−"符号を付けます。 │ │ │・小数点以下はデータの定義長に依存します。 │ │ │ │ │DATE │・文字列yyyy-mm-ddの形式で出力します。 │ │ │ │ │TIME │・文字列hh:mm:ss[.nnnnnn]の形式で出力します。 │ │ │・小数点以下はデータの定義長に依存します。 │ │ │ │ │TIMESTAMP │・文字列yyyy-mm-dd△hh:mm:ss[.nnnnnn]の形式で │ │ │ 出力します。(*2) │ │ │・小数点以下はデータの定義長に依存します。 │ │ │ │ │BINARY 及び│・文字列形式で出力します。 │ │BLOB 及び│・データ中に表示不可文字(ナル文字など ASCII │ │MVARCHAR 及び│ コード0x00〜0x1F)がある場合、表示不可文字を │ │MCHAR 及び│ コロン(:)に変換します。 │ │NVARCHAR 及び│・定義長より短い可変長文字列の場合は、 │ │NCHAR 及び│ 定義長まで空白文字(0x20)を埋めます。 │ │VARCHAR 及び│ │ │CHAR │ │ │ │ │ │FLOAT 及び│・仮数部E指数部で構成します。 │ │SMALLFLT │ (*3) │ │ │ │ │DECIMAL │・符号部、整数部、小数点、小数部で構成します。│ │ │・正の値のときは、符号部が空白です。 │ │ │ 負の値のときは、符号部が"−"符号です。 │ │ │・整数部、小数部ともに検索列のデータ型から求め│ │ │ られる桁数を10進文字列として出力します。 │ │ │ 値が桁数に満たないときは文字0を埋めて │ │ │ 出力します。 │ │ │ │ │INTEGER 及び│・数値を10進文字列として右詰で出力します。 │ │SMALLINT │・負の値のときは、10進文字列の直前に"−" │ │ │ 符号を出力します。 │ └───────┴───────────────────────┘ *1)データがナル値の場合、列の出力領域長分の空白文字(0x20)を 出力します。 *2)△は半角スペースを表します。 *3)指数部が2桁以内で表現可能な値のときは、プラットフォームにより 出力形式が異なります。 Windows、Windows IPF: 符号を除く指数部を3桁の10進文字列で表現します。 上記以外:符号を除く指数部を2桁の10進文字列で表現します。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ RDAREAINF ( RDエリア情報の表示 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 指定したRDエリアの情報を示します。 形式 ┏━━━━━━━━━━━━━━━━━━━┓ ┃ RDAREAINF RDエリア名 ┃ ┗━━━━━━━━━━━━━━━━━━━┛ オペランド ● RDエリア名 〜<識別子> 情報を表示したいRDエリアを指定します。 留意事項 (1) RDエリア名の記述については、「( 10 ) 規則」(p)を参照してください。 出力内容 [ 接続先HiRDBのバージョンが 09-04以前の場合] 列番│列名 │表示文字数│形式 │内容 ──┼─────┼─────┼───┼────────────────── 1│TYPE │ 8│文字列│格納されているデータの種類 │ │ │ │(TABLE,INDEX,BLOB,SEQUENCE) 2│USER │ 8│文字列│所有者(認可識別子) 3│NAME │ 30│文字列│名前(#2) 4│USED_TABLE│ 30│文字列│元となる表識別子(#3) [ 接続先HiRDBのバージョンが 09-50以降の場合] 列番│列名 │表示文字数│形式 │内容 ──┼─────┼─────┼───┼────────────────── 1│TYPE │ 8│文字列│格納されているデータの種類 │ │ │ │(TABLE,INDEX,BLOB,SEQUENCE) 2│USER │ 30│文字列│所有者(認可識別子) 3│NAME │ 30│文字列│名前(#2) 4│USED_TABLE│ 30│文字列│元となる表識別子(#3) #2: TYPEがTABLEのとき表識別子、 TYPEがINDEXのときインデクス識別子、 TYPEがBLOBのとき列名、 TYPEがSEQUENCEのとき順序数生成子識別子をそれぞれ表示します。 #3: TYPEがINDEX又はINDEXのときに元となる表識別子を出力します。 TYPEがTABLE又はSEQUENCEのときは、空白を出力します。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ RDAREAS ( RDエリア一覧の表示 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 RDエリアの一覧を表示します。 形式 ┏━━━━━━━━━━━━━━━━━━━┓ ┃ RDAREAS [ RDノード名 ] ┃ ┗━━━━━━━━━━━━━━━━━━━┛ オペランド ● RDノード名 〜<RDノード名> リモートデータベースアクセスをする場合、RDノード名を指定します。 RDノード名はリモートデータベースがHiRDBの場合のみ指定できます。 RDノード名を省略した場合、ローカルアクセスになります。 留意事項 (1) RDノード名の記述については、「( 10 ) 規則」(p)を参照してください。 出力形式 RDAREA_ID RDAREA_NAME SERVER TYPE PAGE_SIZE ------------ ------------------------------ -------- ---- --------- aaaa bb....bb cc....cc de fffff 〜 SEGMENT_SIZE INITIAL_SIZE FILE_COUNT N_TABLE N_INDEX N_SEQ 〜 ------------ ------------ ---------- ------- ------- ------ ggggg hhhhh iiiii jjjjj kkkkk lllll aaaa : RDエリアID(*1) bb....bb : RDエリア名 cc....cc : サーバ名 d : RDエリアの種類(*3) e : 一時表用RDエリアの属性(*3)(*4) fffff : ページ長 ggggg : セグメントサイズ hhhhh : 初期割当てセグメント数 iiiii : ファイル数 jjjjj : 格納表数 kkkkk : 格納インデクス数 lllll : 格納順序数生成子数(*2) *1: この列をキーに昇順に並び替え表示します。 *2: この列は、HiRDB V8 08-05以降に接続したときに、表示します。 *3: 表示内容の意味については、マニュアル「HiRDB UAP開発ガイド」の 「付録G.3 ディクショナリ表の詳細」「表G-3 SQL_RDAREAS 表の内容」 を参照してください。 *4: HiRDB V9 09-02以前に接続したときは、何も出力しません。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ REPEAT ( SQLの再実行 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 直前に実行したSQLを再度実行します。 形式 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ REPEAT [ 繰り返し回数 ] [ { DISPLAY | NODISPLAY } ] ┃ ┃ ~~~~~~~~~ ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ オペランド ● 繰り返し回数 〜<符号なし整数>(1〜2147483647)《1》 直前に実行したSQLを実行する回数を指定します。 ● DISPLAY | NODISPLAY DISPLAY 再度実行するSQLを表示します。 NODISPLAY 再度実行するSQLを表示しません。 規則 (1) 下記に示すSQLは、繰り返しの対象にはなりません。 下記に示すSQLより以前で直前に実行したSQLが対象となります。 (i) COMMIT (ii) ROLLBACK (iii) SET SESSION AUTHORIZATION (2) 直前にディクショナリ情報表示コマンド(RDAREAINF、SEQINF、SOURCE、 TABLEINFを除く)を実行している場合は、内部的に発行されたSQLが 繰り返しの対象になります。 (3) 直前に実行したSQLを発行するコマンドが、RDAREAINF、SEQINF、SOURCE、 TABLEINFのいずれかであるときは、KFPX27923-Eエラーとなります。 使用例 表(T1)に同じデータをINSERT文で100行挿入します。 INSERT INTO T1 (C1,C2) VALUES(1000,2000); REPEAT 99; 留意事項 (1) 直前にディクショナリ情報表示コマンドを実行している場合は、 直前に実行したコマンドと比べ列名および表示領域の長さ[カラム]が 異なることがあります。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ROUTINES ( ルーチン一覧の表示 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 ルーチンの一覧を表示します。 形式 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ ROUTINES [[ RDノード名[.] ] { 認可識別子 | ALL } ] ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ オペランド ● RDノード名 〜<RDノード名> リモートデータベースアクセスをする場合、RDノード名を指定します。 RDノード名はリモートデータベースがHiRDBの場合のみ指定できます。 RDノード名を省略した場合、ローカルアクセスになります。 ● 認可識別子 〜<認可識別子> 手続きを所有しているユーザの認可識別子を指定します。 認可識別子を省略した場合は、CONNECT時の認可識別子が 仮定されます。 指定されたユーザが所有するルーチンの一覧を表示します。 ● ALL 全てのユーザが所有するルーチンの一覧を表示します。 使用例 ユーザ(認可識別子:USER1)の所有するルーチン一覧を表示します。 ROUTINES USER1; 留意事項 (1) RDノード名、認可識別子の記述については、 「( 10 ) 規則」(p)を参照してください。 出力内容 [ 接続先HiRDBのバージョンが 09-04以前、且つディクショナリの初期設定にて 混在文字データを使用しない設定の場合] 列番│列名 │表示文字数│形式 │内容 ──┼───────┼─────┼───┼───────────── 1│ROUTINE_NAME │ 39│文字列│ルーチン名(#1) 2│SPECIFIC_NAME │ 30│文字列│特定名称 3│TYPE │ 4│文字列│ルーチン種別 │ │ │ │(P : 手続き、F : 関数) 4│N_PARAM │ 7│数値 │パラメタの数 5│OBJECT_SIZE │ 12│数値 │オブジェクトサイズ(#3) 6│CREATE_TIME │ 14│文字列│ルーチン作成時の時刻(#4) [ 上記以外の場合] 列番│列名 │表示文字数│形式 │内容 ──┼───────┼─────┼───┼───────────── 1│ROUTINE_NAME │ 61│文字列│ルーチン名(#1) 2│SPECIFIC_NAME │ 30│文字列│特定名称 3│TYPE │ 4│文字列│ルーチン種別 │ │ │ │(P : 手続き、F : 関数) 4│N_PARAM │ 7│数値 │パラメタの数 5│OBJECT_SIZE │ 12│数値 │オブジェクトサイズ(#3) 6│CREATE_TIME │ 14│文字列│ルーチン作成時の時刻(#4) #1: この列をキーに昇順に並び替え表示します。 #3: 単位はバイトです。外部ルーチンの場合は0となります。 #4: SQL手続き文の場合はSQL解析時刻,外部ルーチンの場合はルーチン 定義作成時刻となります。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SEQINF ( 順序数生成子情報の表示 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 指定した順序数生成子の情報を示します。 形式 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ SEQINF [ 認可識別子[.] ] 順序数生成子識別子 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ オペランド ● 認可識別子 〜<認可識別子> 順序数生成子を所有しているユーザの認可識別子を指定します。 認可識別子を省略した場合、CONNECT時の認可識別子が仮定されます。 ● 順序数生成子識別子 〜<識別子> 情報を表示したい順序数生成子を指定します。 留意事項 (1) 認可識別子、順序数生成子識別子の記述については、 「( 10 ) 規則」(p)を参照してください。 (2) 各出力項目において識別不可能なデータを取得した場合は、 「?Unknown」の表示をするか、または項目に対する値を出力しません。 出力形式 Sequence Schema : bb....bb ....認可識別子 Sequence Name : cc....cc ....順序数生成子識別子 Sequence ID : dddddddddd(dd....dd) ....順序数生成子ID。 値を16進数(10進数)で表示します。 Public Usage : e ....PUBLIC USAGE指定有無。 (Y:指定有、空白:指定無) Data Type : ff....ff ....データ型。 Start Value : gg....gg ....開始値。(空白:開始値の指定なし) Maximum Value : hh....hh ....最大値。(空白:最大値の指定なし) Minimum Value : ii....ii ....最小値。(空白:最小値の指定なし) Increment : jj....jj ....増分値。(空白:増分値の指定なし) Cycle Option : k ....循環オプション。 (Y:CYCLE、N:NO CYCLE) Log Interval : ll....ll ....ログ出力間隔。 RDAREA Name : mm....mm ....順序数生成子格納先のRDエリア名。 以下の名称は環境変数 PDSQL_IDENT_QUOTの指定によって、出力内容が異なります。 ・認可識別子 ・順序数生成子識別子 ・RDエリア名 環境変数 PDSQL_IDENT_QUOT にONを設定した場合: 名称の前後を二重引用符で囲んで出力します。 環境変数 PDSQL_IDENT_QUOT にOFFを設定した場合: 次の場合を除き、名称の前後を二重引用符で囲まずに出力します。 ・名称に英小文字が含まれる場合 環境変数 PDSQL_IDENT_QUOT を設定していない場合: 名称の前後を二重引用符で囲んで出力します。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SEQUENCES ( 順序数生成子一覧の表示 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 順序数生成子の一覧を表示します。 形式 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ SEQUENCES [ { 認可識別子 | ALL } ] ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ オペランド ● 認可識別子 〜<認可識別子> 順序数生成子を所有しているユーザの認可識別子を指定します。 認可識別子を省略した場合は、CONNECT時の認可識別子が 仮定されます。 指定されたユーザが所有する順序数生成子の一覧を表示します。 ● ALL 全てのユーザが所有する順序数生成子の一覧を表示します。 留意事項 (1) 認可識別子の記述については、「( 10 ) 規則」(p)を参照してください。 出力内容 [ 接続先HiRDBのバージョンが 09-04以前、且つディクショナリの初期設定にて 混在文字データを使用しない設定の場合] 列番│列名 │表示文字数│形式 │内容 ──┼────────┼─────┼───┼──────────── 1│SEQUENCE_SCHEMA │ 15│文字列│認可識別子(#1) 2│SEQUENCE_NAME │ 30│文字列│順序数生成子識別子(#1) 3│PUBLIC_USAGE │ 1│文字列│PUBLIC USAGE指定有無 │ │ │ │(Y:指定有、空白:指定無) 4│CREATE_TIME │ 14│文字列│順序数生成子作成時間 [ 上記以外の場合] 列番│列名 │表示文字数│形式 │内容 ──┼────────┼─────┼───┼──────────── 1│SEQUENCE_SCHEMA │ 30│文字列│認可識別子(#1) 2│SEQUENCE_NAME │ 30│文字列│順序数生成子識別子(#1) 3│PUBLIC_USAGE │ 1│文字列│PUBLIC USAGE指定有無 │ │ │ │(Y:指定有、空白:指定無) 4│CREATE_TIME │ 14│文字列│順序数生成子作成時間 #1: この列をキーに昇順に並び替え表示します。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SERVERS ( 外部サーバ一覧の表示 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 指定した認可識別子が所有している外部サーバの一覧を表示します。 形式 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ SERVERS [ { 認可識別子 | ALL } ] ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ オペランド ● 認可識別子 〜<認可識別子> 外部サーバを所有しているユーザの認可識別子を指定します。 認可識別子を省略した場合、CONNECT時の認可識別子が仮定されます。 ● ALL 定義してある全てを表示します。 留意事項 (1) 認可識別子の記述については、「( 10 ) 規則」(p)を参照してください。 出力内容 [ 接続先HiRDBのバージョンが 09-04以前、且つディクショナリの初期設定にて 混在文字データを使用しない設定の場合] 列番│列名 │表示文字数│形式 │内容 ──┼────────┼─────┼───┼─────────────── 1│SERVER_ID │ 12│数値 │外部サーバID(#1) 2│SERVER_NAME │ 39│文字列│外部サーバ名 3│BES │ 8│文字列│外部サーバにアクセスするBES名称 4│TYPE │ 30│文字列│サーバ種別 5│VERSION │ 30│文字列│サーババージョン 6│N_TABLE │ 12│数値 │外部サーバに定義された表の数 7│MAPPING_USER_ID │ 10│文字列│外部サーバ上のユーザの名称 [ 上記以外の場合] 列番│列名 │表示文字数│形式 │内容 ──┼────────┼─────┼───┼──────────────── 1│SERVER_ID │ 12│数値 │外部サーバID(#1) 2│SERVER_NAME │ 61│文字列│外部サーバ名 3│BES │ 8│文字列│外部サーバにアクセスするBES名称 4│TYPE │ 30│文字列│サーバ種別 5│VERSION │ 30│文字列│サーババージョン 6│N_TABLE │ 12│数値 │外部サーバに定義された表の数 7│MAPPING_USER_ID │ 30│文字列│外部サーバ上のユーザの名称 #1: この列をキーに昇順に並び替え表示します。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SET ANALYSIS MODE ( SQLの前処理だけを実行 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 SQLの前処理だけを実行します。 データの変更を行なわずに、アクセスパスの取得を行ないたいときに使用します。 形式 ┏━━━━━━━━━━━━━━━━━━━┓ ┃ SET ANALYSIS MODE{ ON | OFF } ┃ ┗━━━━━━━━━━━━━━━━━━━┛ オペランド ● ON | OFF ON : 入力したSQLの前処理だけを行ないます。 OFF : 入力したSQLの前処理と実行を行ないます。 留意事項 (1) 本コマンドが有効となるSQLを以下に示します。 ・ASSIGN LIST ・DELETE ・DROP LIST ・INSERT ・PURGE TABLE ・SELECT ・UPDATE ・LOCK COMMIT、ROLLBACKは、ONが指定されていても実行を行ないます。 ONが指定されているときに、上記以外のSQL文を実行しようとしたときは、 KFPX27922-Eエラーとなります。 (2) ディクショナリ情報表示コマンドRDAREAINF、SEQINF、SOURCE、 TABLEINFは、ONが指定されていても前処理と実行を行ないます。 (3) COLUMNSコマンドで+LIKEオプションの指定を行ったときは、 ONが指定されていても列情報を取得するために内部的に 発行するディクショナリ表を検索するSQLの前処理と実行を行ないます。 (4) PUTFILEコマンドでRDエリア毎の分割出力(-dr)指定を行ったときは、 ONが指定されていてもRDエリア情報を取得するために内部的に 発行するディクショナリ表を検索するSQLの前処理と実行を行ないます。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SET ARRAY DISPLAY MODE ( 繰返し列情報の切り替え ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 繰返し列情報の出力内容を切り替えます。 形式 ┏━━━━━━━━━━━━━━━━━━━━━━┓ ┃ SET ARRAY DISPLAY MODE { DATA|NUM } ┃ ┗━━━━━━━━━━━━━━━━━━━━━━┛ オペランド ● DATA | NUM DATA :検索結果として格納されているデータを表示します。 NUM :検索結果として格納されているデータ数を表示します。 留意事項 (1) 格納されているデータ数は、NULL値データも数として含まれます。 (2) 本コマンドは、検索結果の表示形式が表形式の状態でSQL文を実行した ときにのみ有効です。 PUTFILEコマンドを実行した場合は、常に「格納されているデータ」を 出力します。 (3) 実際に格納されているデータ数が、SET ARRAY LIMITコマンドで指定した 要素数よりも多い場合、SET ARRAY LIMITコマンドで指定した数が返ります。 使用例 CREATE TABLE T ( ID CHAR(11), V SMALLINT ARRAY[5], C DECIMAL(10,5)); INSERT INTO T VALUES('A19Y3946122',ARRAY[4,7,1,6,5],+100.35); INSERT INTO T VALUES('D25Y7788792',ARRAY[9,NULL,NULL,3,2],+120.02); INSERT INTO T VALUES('J03Y9750756',ARRAY[1,6,3],+99.56); ・・・ SET ARRAY DISPLAY MODE NUM; SELECT ID,V,C FROM T ORDER BY ID; ...格納されているデータ数を表示。 ・・・ SET ARRAY DISPLAY MODE DATA; SELECT ID,V,C FROM T ORDER BY ID; ... 格納されているデータを表示。 出力例 検索SQL実行時の出力例を、使用例の表定義を使って示します。 ・SET ARRAY DISPLAY MODE DATA のとき ID V[0] V[1] V[2] V[3] V[4] C ----------- -------- -------- -------- -------- -------- ------------ A19Y3946122 4 7 1 6 5 00100.35000 D25Y7788792 9 ****** ****** 3 2 00120.02000 J03Y9750756 1 6 3 ****** ****** 00099.56000 ・・・ ・SET ARRAY DISPLAY MODE NUM のとき ID NUMELM(V) C ----------- --------- ------------ A19Y3946122 5 00100.35000 D25Y7788792 5 00120.02000 J03Y9750756 3 00099.56000 ・・・ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SET ARRAY LIMIT ( 最大要素数の制限 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 繰返し列の最大要素数を制限します。 形式 ┏━━━━━━━━━━━━━━━━━━━┓ ┃ SET ARRAY LIMIT 最大要素数 ┃ ┗━━━━━━━━━━━━━━━━━━━┛ オペランド ● 要素数 〜<符号なし整数>({0 | 2〜30000}) 繰返し列の最大要素数を指定します。 繰返し列の最大要素数を制限しない (列の定義時の最大要素数に従う)場合は、0を指定します。 使用例 繰り返し数が50で定義されている列を先頭から10要素分だけ検索します。 CREATE TABLE T1(C1 INTEGER ARRAY[50]); … SET ARRAY LIMIT 10; SELECT C1 FROM T1; ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SET ARRAY NOVALUE( 繰返し列値なし要素表示文字の設定) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 繰返し列で値の入っていない要素を表示する文字を設定します。 形式 ┏━━━━━━━━━━━━━━━━━━┓ ┃ SET ARRAY NOVALUE '文字' ┃ ┗━━━━━━━━━━━━━━━━━━┛ オペランド ● '文字 ' 〜(1文字) 繰返し列の要素に値が入っていない場合に表示する文字を設定します。 指定可能な文字は、半角英数字、および次に示す特殊記号です。 「!」「"」「#」「$」「%」「&」「'」「(」「)」「*」「+」「,」「-」「.」 「/」「:」「;」「<」「=」「>」「?」「@」「[」「]」「\」「^」「_」「`」 「{」「}」「|」「~」 留意事項 (1) 検索結果が表形式表示になっている時、設定が有効になります。 (2) PUTFILEコマンドに対して設定は適用されません。 (3) 本コマンドを発行せずに検索を行ったときは、アスタリスク「*」を 表示する文字とします。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SET AUTO COMMIT ( COMMITの自動発行 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 SQLの実行が正常に終了した場合、自動的にCOMMITを発行します。 形式 ┏━━━━━━━━━━━━━━━━━━━┓ ┃ SET AUTO COMMIT { ON | OFF } ┃ ┗━━━━━━━━━━━━━━━━━━━┛ オペランド ● ON | OFF ON : SQLの実行が正常に終了した場合、自動的にCOMMITを発行します。 OFF : SQLの実行が正常に終了した場合、自動的にCOMMITを発行しません。 環境変数 ● PDUAPAUTOCOMMIT = ON | OFF ON : 自動的にコミットを発行します。 OFF : 自動的にコミットを発行しません。 設定がない場合はONが仮定されます。 留意事項 (1) SQLの実行が正常に終了した場合に自動的にCOMMITを発行するSQLの場 合は、OFF を指定してもCOMMITを発行します。 使用例 自動的にCOMMITを発行します。 SET AUTO COMMIT ON; INSERT INTO T1 (C1,C2) VALUES(1000,2000); 自動的にCOMMITを発行しません。 SET AUTO COMMIT OFF; INSERT INTO T1 (C1,C2) VALUES(1000,2000); COMMIT; ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SET BINARY LIMIT ( BINARY型の長さ制限 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 BINARY型の受け渡し領域の長さを制限します。 形式 ┏━━━━━━━━━━━━━━━━━━━┓ ┃ SET BINARY LIMIT 長さ ┃ ┗━━━━━━━━━━━━━━━━━━━┛ オペランド ● 長さ 〜<符号なし整数>(0〜2147483647) BINARY型の長さを指定します。 BINARY型の長さを制限しない (列の定義長に従う)場合は、0を指定します。 留意事項 (1) 環境変数 PDSQLBINARYLIMITにて本プログラム起動時にあらかじめ制限 することができます。STATUSコマンドにて確認できます。 使用例 BINARY型の長さが2147483647バイトの列を100バイト分だけ検索します。 CREATE TABLE T1(C1 BINARY (2147483647)); … SET BINARY LIMIT 100; SELECT C1 FROM T1; ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SET BLANKLINE ( 空行の表示 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 会話形式で入出力をするにあたり表示内容(入力待ちプロンプト、 検索結果、メッセージなど)の区別をするために挿入しているすべての 空行を、表示するかどうかを設定します。 形式 ┏━━━━━━━━━━━━━━━━━━━┓ ┃ SET BLANKLINE { ON | OFF } ┃ ┗━━━━━━━━━━━━━━━━━━━┛ オペランド ● ON | OFF <> ON : 空行を表示します。 OFF : 空行を表示しません。 関連する環境変数 ● PDSQL_BLANKLINE 詳細は、「( 6 ) 環境変数の設定」を参照してください。 留意事項 状態はSTATUSコマンドにて確認できます。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SET BLOB LIMIT ( BLOB型の長さ制限 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 BLOB型の受け渡し領域の長さを制限します。 形式 ┏━━━━━━━━━━━━━━━━━━━┓ ┃ SET BLOB LIMIT 長さ ┃ ┗━━━━━━━━━━━━━━━━━━━┛ オペランド ● 長さ 〜<符号なし整数>(0〜2147483647) BLOB型の長さを指定します。 BLOB型の長さを制限しない (列の定義長に従う)場合は、0を指定します。 留意事項 (1) 環境変数 PDSQLBLOBLIMITにて本プログラム起動時にあらかじめ制限 することができます。STATUSコマンドにて確認できます。 使用例 BLOB型の長さが2Gバイトの列を100バイト分だけ検索します。 CREATE TABLE T1(C1 BLOB(2G); … SET BLOB LIMIT 100; SELECT C1 FROM T1; ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SET CHAR LIMIT ( CHAR型の長さ制限 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 CHAR/VARCHAR/MCHAR/MVARCHAR型の受け渡し領域の長さを制限します。 形式 ┏━━━━━━━━━━━━━━━━━━━┓ ┃ SET CHAR LIMIT 長さ ┃ ┗━━━━━━━━━━━━━━━━━━━┛ オペランド ● 長さ 〜<符号なし整数>(0〜32000) CHAR/VARCHAR/MCHAR/MVARCHAR型の長さを指定します。 CHAR/VARCHAR/MCHAR/MVARCHAR型の長さを制限しない (列の定義長に従う)場合は、0を指定します。 使用例 CHAR型の長さが30000バイトの列を100バイト分だけ検索します。 CREATE TABLE T1(C1 CHAR(30000)); … SET CHAR LIMIT 100; SELECT C1 FROM T1; 留意事項 (1) 本コマンドは、ディクショナリ情報表示コマンドに対しても有効です。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SET CLOB LIMIT ( CLOB型の長さ制限 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 CLOB型の受け渡し領域の長さを制限します。 形式 ┏━━━━━━━━━━━━━━━━━━━┓ ┃ SET CLOB LIMIT 長さ ┃ ┗━━━━━━━━━━━━━━━━━━━┛ オペランド ● 長さ 〜<符号なし整数>(0〜2147483647) CLOB型の長さを指定します。 CLOB型の長さを制限しない (列の定義長に従う)場合は、0を指定します。 留意事項 (1) 環境変数 PDSQLCLOBLIMITにて本プログラム起動時にあらかじめ制限 することができます。STATUSコマンドにて確認できます。 使用例 CLOB型の長さが2Gバイトの列を100バイト分だけ検索します。 CREATE TABLE T1(C1 CLOB(2G) IN ULOB1); … SET CLOB LIMIT 100; SELECT C1 FROM T1; ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SET CMDBUF (サーバコマンド実行結果の出力長制限 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 サーバで実行したコマンドの結果を受け取る領域の長さを変更します。 形式 ┏━━━━━━━━━━━━━━━━━━━┓ ┃ SET CMDBUF 長さ ┃ ┗━━━━━━━━━━━━━━━━━━━┛ オペランド ● 長さ 〜<符号なし整数>(1〜2147483647) サーバで実行したコマンドの結果を受け取る領域の長さを指定します。 初期値は、30,000バイトです。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SET CONVSPACE ( 制御文字コードの空白変換 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 SQL文、pdsqlコマンドの文字列中に、改行を除く制御文字コード(0x01〜 0x1F)が存在するときに、該当する文字コードを半角空白に変換します。 形式 ┏━━━━━━━━━━━━━━━━━━━┓ ┃ SET CONVSPACE { ON | OFF } ┃ ┗━━━━━━━━━━━━━━━━━━━┛ オペランド ● ON | OFF <> ON : 制御文字コードを半角空白に変換します。 OFF : 制御文字コードを変換しません。 環境変数 ● PDSQL_CONVSPACE = ON | OFF ON : 制御文字コードを半角空白に変換します。 OFF : 制御文字コードを変換しません。 設定がない場合はOFFが仮定されます。 留意事項 状態はSTATUSコマンドにて確認できます。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SET DISPLAY ( 出力形式の変更 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 出力形式を変更します。 形式 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ SET DISPLAY [{ ALL|OFF }] [{ PROMPT|NOPROMPT }] ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ オペランド ● { ALL|OFF } <> ALL : 検索結果、メッセージを出力します。 OFF : メッセージだけを出力します。 ● { PROMPT|NOPROMPT } <> PROMPT : コマンド入力のプロンプトを表示します。 NOPROMPT : コマンド入力のプロンプトを表示しません。 関連する環境変数 ● PDSQL_DISPLAY ● PDSQL_DISPLAYNOLINE ● PDSQL_COMMANDPROMPT 詳細は、「( 6 ) 環境変数の設定」を参照してください。 留意事項 状態はSTATUSコマンドにて確認できます。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SET DUMPMODE ( 検索結果の16進表示 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 検索結果を16進形式と文字形式で表示します。 形式 ┏━━━━━━━━━━━━━━━━━━━┓ ┃ [ SET ] DUMPMODE { ON | OFF } ┃ ┗━━━━━━━━━━━━━━━━━━━┛ オペランド ● ON | OFF ON : 検索結果を表形式で表示(TBLMODEがON)のときは、 検索結果を16進形式で表示します。 検索結果をリスト形式で表示(TBLMODEがOFF)のときは、 検索結果を16進形式と文字形式で表示します。 OFF : 検索結果を文字形式で表示します。 環境変数 ● PDUAPDUMP = { ON | OFF } | { YES | NO } ON または YES : 検索結果を表形式で表示(TBLMODEがON)のときは、 検索結果を16進形式で表示します。 検索結果をリスト形式で表示(TBLMODEがOFF)のときは、 検索結果を16進形式と文字形式で表示します。 OFF または NO : 検索結果を文字形式で表示します。 設定がない場合はOFFが仮定されます。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SET ECHOBACK ( 入力コマンドのエコー表示 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 入力されたコマンド文字列をエコー表示します。 形式 ┏━━━━━━━━━━━━━━━━━━━┓ ┃ SET ECHOBACK { ON | OFF } ┃ ┗━━━━━━━━━━━━━━━━━━━┛ オペランド ● ON | OFF ON : 入力されたコマンドをエコー表示します。 OFF : 入力されたコマンドを表示しません。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SET EXECTIME ( 実行時間の表示 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 SQLを実行した際の実行時間を表示するかどうかを設定します。 形式 ┏━━━━━━━━━━━━━━━━━━━━━┓ ┃ SET EXECTIME { OFF | ELAPSED | DETAIL } ┃ ┗━━━━━━━━━━━━━━━━━━━━━┛ オペランド ● OFF | ELAPSED | DETAIL <> OFF : 実行時間を表示しません。 ELAPSED : SQL ExecuterがSQLの入力を受け付けてから結果を示す メッセージを表示するまでの時間を表示します。 DETAIL : ELAPSEDの出力に加えHiRDBクライアントに処理を要求してから 応答を受け取るまでの時間をオペレーションコード単位で表示 します。 関連する環境変数 ● PDSQL_EXECTIME 詳細は、「( 6 ) 環境変数の設定」を参照してください。 留意事項 (1) 状態はSTATUSコマンドにて確認できます。 (2) ELAPSED、またはDETAILが設定されているときに、明示的にSQLを指定する コマンド(GETFILE,PUTFILE,SINGLE ROW,CONNECT,DISCONNECT)を実行した ときも実行時間を表示します。 (3) SQLの入力を受け付けてから結果を示すメッセージを表示するまでに ?パラメタ入力待ち状態となるときは、?パラメタ入力待ち状態の時間を 除いた時間をELAPSEDに表示します。 ELAPSEDを設定しているときの出力形式: ELAPSED: jj....jj DETAILを設定しているときの出力形式: SEC OP START-TIME END-TIME EXEC-TIME COUNT MAX MIN NO CODE EXEC-TIME EXEC-TIME ---- ---- ----------------------- ----------------------- ----------- ----------- ----------- ----------- aaaa bbbb cc....cc dd....dd ee....ee ff....ff gg....gg hh....hh .... .... ....................... ....................... ........... ........... ........... ........... .... .... ....................... ....................... ........... ........... ........... ........... TOTAL: ii....ii ELAPSED: jj....jj aaaa : セクション番号 bbbb : オペレーションコード。 FETCHを実行したときは初回のFETCHを"1stF"と表示します。 連続して2回以上のFETCHを実行したときは、"1stF"の行に続いて 下記の行を表示します。 ・初回を除いたFETCHを纏めて"OthF"と表示します。 この情報はNoRowまたはエラーとなったFETCHを含みます。 オペレーションコードについては、マニュアル 「HiRDB UAP開発ガイド」の「11.1.1 SQL トレース機能」にある 「(3) SQL トレース情報の見方」を参照してください。 cc....cc : HiRDBクライアントに処理を要求した時刻を YYYY/MM/DD HH:MM:SS.mmm の形式で表示します。 オペレーションコードの表示が"OthF"のときは、2回目の FETCHを実行したときのHiRDBクライアントに処理を要求した 時刻を示します。 dd....dd : HiRDBクライアントから応答を受け取った時刻を YYYY/MM/DD HH:MM:SS.mmm の形式で表示します。 オペレーションコードの表示が"OthF"のときは、初回を除く最後の FETCHを実行したときのHiRDBクライアントから応答を受け取った 時刻を示します。 ee....ee : HiRDBクライアントに処理を要求してから応答を受け取るまで の時間(以下、実行時間と示します) オペレーションコードの表示が"OthF"のときは、初回を除いた FETCHを実行した実行時間の合計を示します。 ff....ff : オペレーションコードの表示が"OthF"のときに表示します。 初回を除いたFETCHを実行した回数を示します。 gg....gg : オペレーションコードの表示が"OthF"のときに表示します。 初回を除いたFETCHを実行した実行時間のうち 最大実行時間を示します。 hh....hh : オペレーションコードの表示が"OthF"のときに表示します。 初回を除いたFETCHを実行した実行時間のうち 最小実行時間を示します。 ii....ii : 実行時間の合計を示します。 jj....jj : SQL ExecuterがSQLの入力を受け付けてから結果を示す メッセージを表示するまでの時間を表示します。 時間の単位はマイクロ秒です。 PUTFILEコマンドでRDエリア毎の分割出力指定を行ったときは、 発行するSQL毎にヘッダ行からTOTAL行を表示します。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SET FETCH ARRAY SIZE (1回のFETCHで検索する行数設定) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 配列FETCH機能を使用して、1回のFETCHで検索する行数を指定します。 形式 ┏━━━━━━━━━━━━━━━━━━━┓ ┃ SET FETCH ARRAY SIZE 行数 ┃ ┗━━━━━━━━━━━━━━━━━━━┛ オペランド ● 行数 〜<符号なし整数>(0,2〜32767)<<0>> ・1回のFETCHで検索する行数を指定します。 ・通常のFETCH(1回のFETCHで1件検索する)に戻す場合は、0を指定します。 留意事項 (1) 0以外を指定したときは、「配列を使用したFETCH機能」を使用します。 使用する際は、マニュアル「HiRDB UAP開発ガイド」の「配列を使用したFETCH 機能」の注意事項を参照してください。 (2) ディクショナリ情報表示コマンドSOURCE、TABLEINFは、 1回のFETCHで検索する行数の指定がされていても、 1行ずつの取得を行ないます。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SET FETCH LIMIT ( 検索行数の制限 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 検索する行数(FETCHを実行する件数)を制限します。 形式 ┏━━━━━━━━━━━━━━━━━━━┓ ┃ SET FETCH LIMIT 検索行数 ┃ ┗━━━━━━━━━━━━━━━━━━━┛ オペランド ● 検索行数 〜<符号なし整数>(0〜2147483647) ・検索する行数(FETCHを実行する件数)を指定します。 ・検索する行数(FETCHを実行する件数)を制限しない場合は、 0を指定します。 使用例 検索件数を10行に制限します。 SET FETCH LIMIT 10; SELECT * FROM T1 ORDER BY C1 ASC; 留意事項 (1) ディクショナリ情報表示コマンドRDAREAINF、SEQINF、SOURCE、 TABLEINFは、指定された検索する行数を無視して全件の出力を行ないます。 (2) CALL文の結果集合は、指定された検索する行数を無視して全件の出力を 行ないます。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SET NCHAR LIMIT ( NCHAR型の長さ制限 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 NCHAR/NVARCHAR型の受け渡し領域の長さを制限します。 形式 ┏━━━━━━━━━━━━━━━━━━━┓ ┃ SET NCHAR LIMIT 長さ ┃ ┗━━━━━━━━━━━━━━━━━━━┛ オペランド ● 長さ 〜<符号なし整数>(0〜16000) NCHAR/NVARCHAR型の長さを指定します。 NCHAR/NVARCHAR型の長さを制限しない (列の定義長に従う)場合は、0を指定します。 使用例 NCHAR型の長さが15000文字の列を100文字分だけ検索します。 CREATE TABLE T1(C1 NCHAR(15000)); … SET NCHAR LIMIT 100; SELECT C1 FROM T1; 留意事項 (1) 本コマンドは、ディクショナリ情報表示コマンドに対しても有効です。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SET NULL CHARACTER(ナル値表示文字の設定) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 検索結果の表形式表示機能でナル値を表示する文字を設定します。 形式 ┏━━━━━━━━━━━━━━━━━━━━━━┓ ┃ SET NULL CHAR〔ACTER〕 '文字' ┃ ┗━━━━━━━━━━━━━━━━━━━━━━┛ オペランド ● '文字 ' 〜(1文字) ナル値の場合に表示する文字を設定します。 指定可能な文字は、半角英数字、および次に示す特殊記号です。 「!」「"」「#」「$」「%」「&」「'」「(」「)」「*」「+」「,」「-」「.」 「/」「:」「;」「<」「=」「>」「?」「@」「[」「]」「\」「^」「_」「`」 「{」「}」「|」「~」 留意事項 (1) 検索結果が表形式表示になっている時、設定が有効になります。 (2) PUTFILEコマンドに対して設定は適用されません。 (3) 本コマンドを発行せずに検索を行ったときは、アスタリスク「*」を 表示する文字とします。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SET PADDING CHAR ( 埋め文字の変更 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 CHAR型とMCHAR型の入力?パラメタに対して、入力データの後ろに埋め文字を 追加するかどうかを指定します。 形式 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ SET PADDING CHAR { SPACE | NONE } ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ オペランド ● SPACE | NONE SPACE : 入力したデータの後ろに空白文字を埋めて、定義長と同じ長さ にしたデータを?パラメタの値として使用します。 NONE : 入力したデータと同じ長さのデータを?パラメタの値として 使用します。 留意事項 (1) 本プログラム起動時にはSPACEオペランドを選択した状態になります。 (2) XDM/RD E2 に接続している場合、固定長(CHAR型またはMCHAR型)の入力?パラ メタに2バイト文字を含むデータを入れると、XDM/RD E2 が文字コード変換 してデータ長が延びた結果、SQLがエラーになることがあります。NONEオペラ ンドを指定することでこの問題を回避できます。なお、NCHAR型の場合は、 文字コード変換してもデータ長が変わらないので、この問題は発生しません。 (3) 入力?パラメタのあるSQL文を入力すると、本プログラムがサーバ(HiRDBまた はXDM/RD E2)から入力?パラメタ情報(データ型、定義長など)を取得します。 サーバから取得した?パラメタ情報が、?パラメタの値の入力要求メッセージ の中に表示されます。本プログラムが作成する入力?パラメタ値のデータ型は 次の通りになります。 サーバから取得した?パラメタ情報のデータ型 CHAR MCHAR -------------------------------------------------+--------+-------- 本プログラムが作成する入力?パラメタ値のデータ型 SPACEオペランドを指定した場合 CHAR MCHAR NONEオペランドを指定した場合 VARCHAR MVARCHAR ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SET REMOVE LINEFEED CHARACTER ( 改行文字の削除 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 SQL文,pdsqlコマンドの文字列中に,改行文字コード(0x0A,0x0D)が存在する ときに,該当する文字を取り除きます。 形式 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ SET REMOVE LINEFEED CHARACTER { ON | OFF } ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ オペランド ● ON | OFF <> ON : 改行文字を取り除きます。 OFF : 改行文字を取り除きません。 環境変数 ● PDSQL_REMOVE_LINEFEED_CHARACTER = ON | OFF ON : 改行文字を取り除きます。 OFF : 改行文字を取り除きません。 設定がない場合はOFFが仮定されます。 留意事項 (1) 状態はSTATUSコマンドにて確認できます。 (2) 08-05以前はONの動作をしていました。 (3) 簡易GUI版のSQL入力画面から入力する場合は, 設定が有効となりません。常にONの動作となります。 (4) 本設定をONにしたときの影響については、「( 10 ) 規則」(h)および 「( 7 ) 実行できるSQL及びSQL文の終了指定」(b)を参照してください。 動作例 (入力) SELECT * FROM T123 WHERE C1=10 AND C2 like 'solu tion%'; ・設定がONの場合 改行文字を削除するため,改行とは別に区切り文字を入力する必要が あります。 改行文字は定数の値からも削除します。 改行文字を含まない定数を記述する際に,複数行に跨って 記述することができます。 ┌(実行するSQL) ──────────────────────┐ │SELECT * FROM T123WHERE C1=10 AND C2 like 'solution%' │ └─────────────────────────────┘ ・設定がOFFの場合 改行文字を削除しないため,単語の区切り文字となります。 改行文字を含む定数を記述することができます。 改行文字を含まない定数を記述する際に,複数行に跨って記述すること ができません。 ┌(実行するSQL) ─────────────────────┐ │SELECT * FROM T123 │ │WHERE C1=10 AND C2 like 'solu │ │tion%' │ └────────────────────────────┘ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SET RESULT FILEOUT (実行結果のファイル出力 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 実行結果を画面表示と同時にファイルにも出力します。 形式 ┏━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ SET RESULT FILEOUT { ON [ファイル名] | OFF } ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━┛ オペランド ● ON [ファイル名] 実行結果を指定したファイルに出力します。ファイル名を省略した場合、 前回指定したファイルが使用されます。プログラム起動後最初にこのコマンド を実行する時は、ファイル名が必須になります。 出力するファイルサイズが2GB未満となるように運用してください。 2GB以上となるとエラーになります。 ● OFF 実行結果のファイル出力を停止します。 留意事項 (1) ラインモード版のHELPコマンドの実行結果はファイルに出力されません。 (2) 実行したSQL文・pdsqlコマンドは出力されません。出力したい場合は、 SET ECHOBACKコマンドも合わせて使用してください。 (3) すでに存在するファイルを指定した場合、追加書き込みとなります。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SET SPLIT SIZE ( 長大データの分割取得指定 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 BINARY/BLOB/CLOB型の分割取得するサイズを指定します。 本コマンドを使用することにより、BINARY/BLOB/CLOB型に格納されている データを検索する際に、メモリ不足となることを回避して検索出力することが できます。 形式 ┏━━━━━━━━━━━━━━━━━━━┓ ┃ SET SPLIT SIZE 分割取得サイズ ┃ ┗━━━━━━━━━━━━━━━━━━━┛ オペランド ● 分割取得サイズ 〜<符号なし整数>(0,4〜2097152)<<0>> BINARY/BLOB/CLOB型の分割取得するサイズを キロバイト単位で指定します。 分割取得を行わない場合は、0を指定します。 留意事項 (1) 本コマンドは、接続サーバ及びクライアントがHiRDB V7 07-01以降に おいて有効となります。 (2) 指定値の目安としては、実データ長の分布を考慮して、 分割取得回数が少なくなり、かつメモリ不足が発生しない値を 指定してください。 実データ長の分布が不明なとき、目安を求める例: /* (検索SQLと同一条件において)取得する行データに含まれる 長大データ(blob1)の実データ長の平均値を取得する。 */ SELECT AVG(LENGTH(blob1)) FROM table1 WHERE int1<100; (3) 環境変数 PDSQL_SPLITSIZEにて本プログラム起動時にあらかじめ指定 することができます。STATUSコマンドにて確認できます。 (4) 本コマンドにて分割取得の指定を行った場合、 HiRDBサーバとの通信および出力処理も分割されるため、 分割取得回数に伴い性能が劣化します。 あらかじめ実データ長の最大がメモリ不足にならない程の値と 判別できる場合は、SET BINARY LIMIT、SET BLOB LIMIT、 SET CLOB LIMITの各コマンドにて最大データ長を設定して検索を 実行してみてください。 (5) SELECT文による検索に対応します。CALL文は対応しません。 (6) 検索結果をリスト形式で表示に設定しているときに BINARY/BLOB/CLOB型の検索を行っても表示されません。 (7) 接続サーバ及びクライアントがHiRDB V7 07-00以前の状態で PUTFILE BIN_PDRORG TOコマンドを行うと、エラーメッセージを 表示せずにコマンドを終了します。ファイル出力は行いません。 使用例 2つの列(int1 AS INTEGER,blob1 AS BLOB(2G))を検索し、ファイル出力 する場合において、実データ長の最大が700MB、平均が100MBであった場合 ファイル出力コマンド: PUTFILE BIN_PDRORG TO /tmp/T1.DAT SELECT int1,blob1 FROM T1; /* 何も設定せずに(コマンドを実行) => 定義長(2G+4)のメモリが必要 */; /* メモリ不足が発生する場合、 BLOB型データの最大長に実データの最大を指定 */; SET BLOB LIMIT 734003200; /* (コマンドを実行) => BLOB LIMITの長さ(700M+4)のメモリが必要 */; /* それでもメモリ不足が発生する場合、 分割取得サイズに実データの平均を指定 */; SET SPLIT SIZE 102400; /* (コマンドを実行) => SPLIT SIZEのサイズ(100M+4)のメモリが必要 */; /* それでもメモリ不足が発生する場合、 分割取得サイズの値を半分にする */; SET SPLIT SIZE 51200; ... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SET TBLMODE ( 検索結果の表形式表示 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 検索結果を表形式で表示するかどうかの設定をします。 形式 ┏━━━━━━━━━━━━━━━━━━━┓ ┃ SET TBLMODE { ON | OFF } ┃ ┗━━━━━━━━━━━━━━━━━━━┛ オペランド ● ON | OFF ON : 検索結果を表形式で(列を横に)表示します。 OFF : 検索結果をリスト形式で(列を縦に)表示します。 留意事項 ナル値は、******** で表します。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SET WHENEVER ( 例外制御指定 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 SQL実行後,HiRDB SQL Executer が取るべき処理を指定します。 形式 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃SET WHENEVER ┃ ┃ { SQLERROR | SQLWARNING | NOT FOUND } ┃ ┃ { EXIT 戻り値 [ COMMIT | ROLLBACK ] ┃ ┃ | CONTINUE [ COMMIT | ROLLBACK | NONE ] } ┃ ┃ ┃ ┃ 戻り値::= { 整数定数 | SQLCODE} ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━┛ オペランド ● { SQLERROR | SQLWARNING | NOT FOUND } SQLERROR : ユーザの誤りやHiRDBの異常によって SQLが正常に実行されなかった時(SQL連絡領域のSQLCODE領域 に負の値が返されたとき)の処理を指示します。 SQLCODEの値については、HiRDBのマニュアル「メッセージ」の 「メッセージの記述形式」を参照してください。 SQLWARNING : SQLは正常に実行されたが,ユーザに対して 警告する状態を検知した時(SQL連絡領域のSQLWARN0領域に 空白以外が返されたとき)の処理を指示します。 NOT FOUND : 表の検索で検索結果をすべて取得し検索結果がない時(SQL連絡 領域のSQLCODE領域に100が返されたとき)の 処理を指示します。 ● { EXIT 戻り値 [ COMMIT | ROLLBACK ] | CONTINUE [ COMMIT | ROLLBACK | NONE ] } EXIT : HiRDB SQL Executerをユーザ任意の戻り値で終了します。 COMMIT 又は ROLLBACK の指定がないときは, COMMITが仮定されます。 CONTINUE : HiRDB SQL Executerの実行を継続します。 COMMIT , ROLLBACK 又は NONE の指定がないときは, NONEが仮定されます。 COMMIT : 現在のトランザクションをコミットします。 ROLLBACK : 現在のトランザクションをロールバックします。 NONE : SQLERROR のときは,コミット又はロールバックをしません。 SQLWARNING のとき及び,NOT FOUND のときは, AUTO COMMITモードがONの場合,コミットします。 ● 戻り値::= { 整数定数 | SQLCODE } 整数定数 : -32768 〜 -1 の範囲の指定値を戻り値とします。 SQLCODE : SQLCODEを戻り値とします。 留意事項 (1) 起動時の設定状態は,下記のコマンドを実行した状態と同じです。 SET WHENEVER SQLERROR CONTINUE NONE; SET WHENEVER SQLWARNING CONTINUE NONE; SET WHENEVER NOT FOUND CONTINUE NONE; (2) SQLが正常に実行されたときは,AUTO COMMITモードに依存して トランザクションを決着します。 (3) SQLWARNINGの例外制御指定をしているとき,検索中にSQLWARNINGが 発生した場合,検索結果の表示はSQLWARNINGが発生した行で打ち切ります。 ここでの検索とは,SELECT文、CALL文を指します。 (4) 下記に示すコマンドを除き、HiRDB SQL Executerの処理で内部的に発行する SQLは対象外になります。 ・CONNECT ・DISCONNECT ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SINGLE ROW ( 1行SELECT文実行 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 1行SELECT文を実行します。 形式 ┏━━━━━━━━━━━━━━━━━━━┓ ┃ SINGLE ROW SELECT文 ┃ ┗━━━━━━━━━━━━━━━━━━━┛ オペランド ● SELECT文 ・1行SELECT文を指定します。 ・1行SELECT文の文法については、マニュアル「HiRDB SQLリファレンス」 を参照してください。 留意事項 (1) INTO句は指定しないでください。 (2) 検索結果が2行以上あるとエラー( KFPA11449-E )になります。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SOURCE ( 定義ソースの表示 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 定義ソースを表示します。 形式 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ SOURCE { VIEW | PROCEDURE | FUNCTION | TRIGGER | ROUTINE } ┃ ┃ [認可識別子.] 定義ソース名称 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ オペランド ● { VIEW | PROCEDURE | FUNCTION | TRIGGER | ROUTINE } 定義ソースの種別を指定します。 VIEW :ビュー表 PROCEDURE :手続き FUNCTION :関数 TRIGGER :トリガ ROUTINE :関数、手続き、トリガ ● 認可識別子 〜<認可識別子> 定義ソースを所有しているユーザの認可識別子を指定します。 認可識別子を省略した場合、CONNECT時の認可識別子が仮定されます。 ● 定義ソース名称 情報を表示する定義ソース名称を指定します。 留意事項 (1) 認可識別子、定義ソース名称の記述については、 「( 10 ) 規則」(p)を参照してください。 (2) 指定した定義ソース名称が定義されていても、ディクショナリ表に 格納されている定義ソースがNULLの場合は、*を表示します。 (3) オペランドにROUTINEを指定した場合は、手続き、関数、トリガの順で 定義ソースの検索を行います。そのため手続き、関数、トリガが 同一名称で定義されている場合は、複数のソースが表示されます。 (4) HiRDBでは関数、手続き、トリガの定義ソースがBLOB型で 格納されているため、以下の動作となります。 HiRDBサーバが使用する文字コード種別と異なるLANG環境のとき、 文字化け表示します。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ STATUS ( 状態の表示 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 本プログラムの動作状態を表示します。 形式 ┏━━━━━━━━━━━━━━━━━━━┓ ┃ { STATUS | ST } [ ALL ] ┃ ┗━━━━━━━━━━━━━━━━━━━┛ オペランド ● ALL SET コマンドでの設定の有無にかかわらず、全ての状態を表示します。 出力形式 PROGRAM NAME : プログラム名 PP-No. : Executerの形名 VERSION : Executerのバージョン SERVER VERSION : 接続しているHiRDBサーバのバージョン CONNECT USER-ID : HiRDBサーバに接続している認可識別子 FETCH LIMIT : SET FETCH LIMIT の設定値 FETCH ARRAY SIZE : SET FETCH ARRAY SIZE の設定値 DUMP FORMAT OUTPUT MODE : SET DUMPMODE の設定値 TABLE FORMAT DISPLAY MODE : SET TBLMODE の設定値 ARRAY DISPLAY MODE : SET ARRAY DISPLAY MODE の設定値 ECHOBACK : SET ECHOBACK の設定値 ANALYSIS MODE : SET ANALYSIS MODE の設定値 AUTO COMMIT MODE : SET AUTO COMMIT の設定値 BLOB LIMIT LENGTH : SET BLOB LIMIT の設定値 BINARY LIMIT LENGTH : SET BINARY LIMIT の設定値 CLOB LIMIT LENGTH : SET CLOB LIMIT の設定値 CHARACTER LIMIT LENGTH : SET CHAR LIMIT の設定値 NCHAR LIMIT LENGTH : SET NCHAR LIMIT の設定値 ARRAY LIMIT : SET ARRAY LIMIT の設定値 SERVER COMMAND BUFFER : SET CMDBUF の設定値 NULL CHARACTER : SET NULL CHARACTER の設定値 ARRAY NOVALUE : SET ARRAY NOVALUE の設定値 PADDING CHAR : SET PADDING CHAR の設定値 RESULT FILEOUT : SET RESULT FILEOUT の設定値 SPLIT SIZE : SET SPLIT SIZE の設定値 DISPLAY MODE : SET DISPLAY の設定値 CONVSPACE : SET CONVSPACE の設定値 REMOVE LINEFEED CHARACTER : SET REMOVE LINEFEED CHARACTER の設定値 BLANKLINE : SET BLANKLINE の設定値 EXECTIME : SET EXECTIME の設定値 WHENEVER SQLERROR : SQLERROR時の例外制御指定 WHENEVER SQLWARNING : SQLWARNING時の例外制御指定 WHENEVER NOT FOUND : NOT FOUND時の例外制御指定 留意事項 (1) ALLオペランドを指定しない場合、以下の情報を除いて、デフォルト値の 場合は表示しません。 VERSION : SERVER VERSION : CONNECT USER-ID : FETCH LIMIT : DUMP FORMAT OUTPUT MODE : AUTO COMMIT MODE : (2) 項目ごとに情報を表示する位置が異なります。 項目[PROGRAM NAME]〜[SERVER VERSION] 52カラム目が最終文字となるように右詰で情報を表示します。 項目[CONNECT USER-ID] 引用符を含めた認可識別子の長さが16バイトを越えるときは、 37カラム目から左詰で情報を表示します。 上記以外の場合、52カラム目が最終文字となるように右詰で情報を 表示します。 項目[FETCH LIMIT]〜[REMOVE LINEFEED CHARACTER] 52カラム目が最終文字となるように右詰で情報を表示します。 項目[WHENEVER SQLERROR]〜[WHENEVER NOT FOUND] 37カラム目から左詰で情報を表示します。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ TABLEINF (指定した表の情報を表示) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 指定した表の情報を表示します。 形式 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ TABLEINF [[ RDノード名[.] ] 認可識別子 [.]] 表識別子 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ オペランド ● RDノード名 〜<RDノード名> リモートデータベースアクセスをする場合、RDノード名を指定します。 RDノード名はリモートデータベースがHiRDBの場合のみ指定できます。 RDノード名を省略した場合、ローカルアクセスになります。 ● 認可識別子 〜<認可識別子> 表を所有しているユーザの認可識別子を指定します。 認可識別子を省略した場合、CONNECT時の認可識別子が仮定されます。 ● 表識別子 情報を表示する表識別子を指定します。 留意事項 (1) RDノード名、認可識別子、表識別子の記述については、 「( 10 ) 規則」(p)を参照してください。 (2) XDM/RD 10-01にて、参照制約またはトリガが定義されている表に対し 本コマンドを実行すると、HiRDB形式ディクショナリビュー表が存在 しないため、SQL文のエラーとなり処理を中断します。 (3) 各出力項目において識別不可能なデータを取得した場合は、 「?Unknown」もしくは「?????」の表示をするか、または項目に対する値を 出力しません。 出力形式 Table Type : aa....aa Table Schema : bb....bb Table Name : cc....cc Table ID : dddddddddd(dd....dd) Column : eeeee ff....ff gg....gg hh....hh Divide Info : ii....ii(*9)(*11) RDAREA Name : kk....kk(*9) Server Name : MM....MM(*10) Option : ll....ll(*9)(*10) Check : LL....LL(*9)(*11)(*13) Foreign Key : NN....NN(*9)(*11) Temporary Info : TT....TT(*17) ------------------------------------------------------------------(*2) Index Information Index Type : mm....mm Index Name : nn....nn Index ID : oooooooooo(oo....oo) Column : ppppp qq....qq rrrr RDAREA Name : ss....ss Option : tt....tt ------------------------------------------------------------------(*8)(*11) Trigger Information EEEEE Trigger Name : FF....FF.GG....GG(HH....HH) Action Time : II....II Event : JJ....JJ Action Type : KK....KK ------------------------------------------------------------------(*3) View Information uuuuu vv....vv.ww....ww ------------------------------------------------------------------(*4)(*12) Routine Information xxxxx yy....yy.zz....zz(AA....AA) yy....yy.OO....OO(PP....PP)(*11) yy....yy.QQ....QQ(RR....RR)(*11) ------------------------------------------------------------------(*5) Base Table Information BBBBB CC....CC.DD....DD aa....aa : 表識別子の種別。以下のいずれかです。 TABLE [SHARE](*11) FIX TABLE FOREIGN TABLE [PUBLIC](*11) VIEW [PUBLIC](*11) READ ONLY VIEW GLOBAL TEMPORARY TABLE(*17) bb....bb : 認可識別子 cc....cc : 表識別子 dddddddddd(dd....dd) : 表ID。値を16進数(10進数)で表示します。 eeeee 〜 hh....hh : 構成列情報。列の数だけ繰返し表示されます。 eeeee : 列ID ff....ff : 列名 gg....gg : データ型。(*6) hh....hh : 列属性情報。以下の内容を出力します。 [CHARACTER SET [文字集合所有者.]文字集合名] : 文字集合属性。(*14) [ARRAY[繰返し列数]] : 繰返し列属性。(*11) [NO SPLIT]:ノースプリットオプション属性。(*11) [SUPPRESS]:列データ抑制指定属性。(*14) [RECOVERY {ALL | PARTIAL | NO }] : 列回復制約属性。 [IN ((RDエリア名)[,(RDエリア名)]...)] : LOB列格納用RDエリア名。 [ALLOCATE (属性名 IN (RDエリア名) [,属性名 IN (RDエリア名)]...)] : 抽象データ型定義内LOB格納用RDエリア指定属性。 {NULL | NOT NULL} : NULL/NOT NULL属性。 [WITH DEFAULT] : WITH DEFAULT 属性。 [SYSTEM GENERATED] : SYSTEM GENERATED属性。(*11) [PLUGIN (プラグインオプション)] :プラグイン指定属性。(*11) [COMPRESSED BY 圧縮分割サイズ] :圧縮指定属性。(*17) [FOR RESERVED]:予備列定義属性(*17) [DEFAULT [既定値]]:DEFAULT属性。(*11) [UPDATE ONLY FROM NULL]:更新可能列属性。(*11) [INNER CONSTRUCTOR OF TYPE1]:暗号化指定属性。(*14) ii....ii : 分割情報。以下のいずれかです。(*11) NON DIVISION KEY RANGE PARTITIONED BY (列名) PARTITIONED BY MULTIDIM (マトリクス分割表情報) [FIX] HASH (ハッシュ関数名) BY (列名)[,(列名)]... kk....kk : 表格納先のRDエリア情報。 ビュー表、外部表、一時表のとき本項目を含む行を出力しません。 MM....MM : 外部サーバ名称。 ll....ll : 表オプション情報。 表識別子の種別が TABLE または FIX TABLE のとき、 以下の内容を出力します。 PCTFREE=((未使用領域の比率),(セグメント内の空きページ比率)) : 使用比率情報。 {LOCK ROW|LOCK PAGE} : 排他資源単位。 [SUPPRESS DECIMAL] : データの省略格納指定情報。 [WITHOUT ROLLBACK] : 行の排他情報。(*11) {{SEGMENT | UNIT} REUSE {〔セグメント数〕|{NO | NOUSE}}} [OPTION 再利用オプション値] : 空き領域の再利用情報。(*11) [OPTION 再利用オプション値]については、Executer 08-06以降で出力します。 [INSERT ONLY [WHILE 日間隔データ|ラベル付き間隔} BY 列名]] : 改竄防止表属性。(*11) 表識別子の種別が FOREIGN TABLE のとき、以下の構文で出力します。 OPTIONS(SCHEMA '外部サーバ上のスキーマ名' ,TABLE '外部サーバ上の表名') LL....LL : 制約判定情報。制約判定の数だけ繰返し表示されます。 以下の構文で出力します。(*11)(*13) CONSTRAINT 制約名 CHECK(検査制約の探索条件) NN....NN : 参照制約情報。参照制約の数だけ繰返し表示されます。 以下の構文で出力します。(*11) CONSTRAINT 制約名 FOREIGN KEY(外部キーを持つ表の列名) REFERENCES 参照する表の表識別子 ON DELETE ON_DELETEトリガ名称 ON UPDATE ON_UPDATEトリガ名称 TT....TT : 一時表情報。(*17) 表識別子の種別が GLOBAL TEMPORARY TABLE のとき、 一時表のデータの有効期間を以下の構文で出力します。 ON COMMIT {DELETE | PRESERVE} ROWS 表識別子の種別が GLOBAL TEMPORARY TABLE 以外のとき、 本項目を含む行を出力しません。 mm....mm 〜 tt....tt : インデクス情報。 インデクスの数だけ繰返し表示されます。 mm....mm : インデクス種別。以下のいずれかです。 [UNIQUE] INDEX [UNIQUE] CLUSTER KEY PRIMARY [CLUSTER] KEY nn....nn : インデクス識別子 oooooooooo(oo....oo) : インデクスID。 値を16進数(10進数)で表示します。 ppppp 〜 rrrr : 構成列情報。列の数だけ繰返し表示されます。 ppppp : 列ID qq....qq : 列名 rrrr : 昇順/降順情報。{ASC | DESC} ss....ss : インデクス格納先のRDエリア名。 一時インデクスのとき、本項目を含む行を出力しません。 tt....tt : インデクスオプション情報。以下の内容を出力します。 PCTFREE=((未使用領域の比率)) : 使用比率情報。 EEEEE 〜 KK....KK : トリガ情報(*11) トリガの数だけ繰返し表示されます。 EEEEE : 表示通番 FF....FF : 認可識別子 GG....GG : トリガ識別子 HH....HH : 特定名称(*7) II....II : トリガ動作契機。{BEFORE|AFTER} JJ....JJ : トリガ契機。 {INSERT|DELETE|UPDATE〔OF 列名〔,列名〕…〕} KK....KK : トリガ動作。 〔{FOR EACH ROW|FOR EACH STATEMENT}〕 uuuuu 〜 ww....ww : ビュー情報。ビューの数だけ繰返し表示されます。 uuuuu : 表示通番 vv....vv : 認可識別子 ww....ww : ビュー表の表識別子 xxxxx 〜 AA....AA : ルーチン情報。(*12) ルーチンの数だけ繰返し表示されます。 xxxxx : 表示通番 yy....yy : 認可識別子 zz....zz : ルーチン識別子 AA....AA : 特定名称(*7) OO....OO : トリガ識別子(*11) PP....PP : 特定名称。(*7)(*11) QQ....QQ : 制約名(*11) RR....RR : 特定名称(*7)(*11) BBBBB 〜 DD....DD : 参照先の表情報。 参照先の表の数だけ繰返し表示されます。 BBBBB : 表示通番 CC....CC : 参照先の表の認可識別子 DD....DD : 表識別子 以下の名称は環境変数 PDSQL_IDENT_QUOTの指定によって、出力内容が異なります。 ・認可識別子 ・表識別子 ・インデクス識別子 ・データ型識別子 ・ルーチン識別子 ・トリガ識別子 ・列名(*16) ・文字集合所有者 ・文字集合名 ・RDエリア名 ・外部サーバ名称 ・特定名称 ・制約名(*16) 環境変数 PDSQL_IDENT_QUOT にONを設定した場合: 名称の前後を二重引用符で囲んで出力します。 環境変数 PDSQL_IDENT_QUOT にOFFを設定した場合: 次の場合を除き、名称の前後を二重引用符で囲まずに出力します。 ・名称に英小文字が含まれる場合 環境変数 PDSQL_IDENT_QUOT を設定していない場合: 名称の前後を二重引用符で囲んで出力します。 *1)欠番 *2)コマンドで指定した表識別子を参照するインデクス情報を表示します。 *3)コマンドで指定した表識別子を参照するビュー情報を表示します。 *4)コマンドで指定した表識別子を参照するルーチン情報を表示します。 *5)コマンドで指定した表識別子が参照する表情報を表示します。 *6)定義されているデータコード値と表示する文字列を、下の表に示します。 表A-5 データコード値と表示する文字列 ┌────┬────────────┬────────────────┐ │データ │表示するデータ型名称 │長さに関する注記 │ │コード値│ │ │ ├────┼────────────┼────────────────┤ │96 又は│INTERVAL YEAR TO SECOND │「(精度,位取り)」で表現します。 │ │97 │ │ │ │100 又は│INTERVAL YEAR TO DAY │「(精度,位取り)」で表現します。 │ │101 │ │ │ │110 又は│INTERVAL HOUR TO SECOND │「(精度,位取り)」で表現します。 │ │111 │ │ │ │112 又は│DATE │表示しません。 │ │113 │ │ │ │120 又は│TIME │「(位取り)」で表現します。 │ │121 │ │位取りが0のときは表示しません。│ │124 又は│TIMESTAMP │「(位取り)」で表現します。 │ │125 │ │位取りが0のときは表示しません。│ │131 │抽象データ型名称 │表示しません。 │ │144 又は│BINARY │最大格納バイト数 │ │145 │ │ │ │146 又は│BLOB │最大格納バイト数 │ │147 │ │ │ │152 又は│CLOB │最大格納バイト数 │ │153 │ │ │ │160 又は│MVARCHAR │最大格納バイト数 │ │161 │ │ │ │164 又は│MCHAR │格納バイト数 │ │165 │ │ │ │176 又は│NVARCHAR │最大格納文字数 │ │177 │ │ │ │180 又は│NCHAR │格納文字数 │ │181 │ │ │ │192 又は│VARCHAR │最大格納バイト数 │ │193 │ │ │ │196 又は│CHAR │格納バイト数 │ │197 │ │ │ │224 又は│FLOAT │表示しません。 │ │225 │ │ │ │226 又は│SMALLFLT │表示しません。 │ │227 │ │ │ │228 又は│DECIMAL │「(精度,位取り)」で表現します。 │ │229 │ │ │ │240 又は│INTEGER │表示しません。 │ │241 │ │ │ │244 又は│SMALLINT │表示しません。 │ │245 │ │ │ └────┴────────────┴────────────────┘ 但し、SQL Executer 02-06以前では以下に示す表示内容の制限があります。 ・TIMESTAMP型は位取りが表示されません。 ・抽象データ型はドット(.)表示となります。 *7)特定名称については、マニュアル「HiRDB UAP開発ガイド」を 参照してください。 *8)コマンドで指定した表識別子を参照するトリガ情報を表示します。 *9)表識別子の種別が TABLE または FIX TABLE のときに表示されます。 *10)表識別子の種別が FOREIGN TABLE のときに表示されます。 *11)SQL Executer 02-07以降で出力します。 *12)ルーチン名がトリガの特定名称であった場合、トリガ名を表示します。 トリガ名が参照制約の特定名称であった場合、制約名を表示します。 XDM/RD 10-01にて上記の情報が存在するとき、HiRDB形式ディクショナリ ビュー表が存在しないため、出力されません。 *13)HiRDBでは定義ソースがBLOB型で格納されているため、以下の動作となります。 HiRDBサーバが使用する文字コード種別と異なるLANG環境のとき、 文字化け表示します。 *14)SQL Executer 08-01以降で出力します。 *15)欠番 *16)次の名称は常に二重引用符で囲んで出力します。 ・制約判定情報で出力する制約名 ・参照制約情報で出力する列名 *17)SQL Executer 08-06以降で出力します。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ TABLES ( 表一覧の表示 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 表の一覧を表示します。 形式 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ TABLES [[ RDノード名[.] ] { 認可識別子 | ALL } ] [+COMMENT] ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ オペランド ● RDノード名 〜<RDノード名> リモートデータベースアクセスをする場合、RDノード名を指定します。 RDノード名はリモートデータベースがHiRDBの場合のみ指定できます。 RDノード名を省略した場合、ローカルアクセスになります。 ● 認可識別子 〜<認可識別子> 表を所有しているユーザの認可識別子を指定します。 認可識別子を省略した場合は、CONNECT時の認可識別子が 仮定されます。 指定されたユーザが所有する表の一覧を表示します。 ● ALL 全てのユーザが所有する表の一覧を表示します。 ● [+COMMENT] 表コメントの出力をします。 本オペランドの指定を行わなかったときは,表コメントの出力を 行いません。 留意事項 (1) RDノード名、認可識別子の記述については、 「( 10 ) 規則」(p)を参照してください。 (2) 先頭が正符号(+)の文字列をオペランドに指定する場合、 正符号(+)に続く文字列がCOMMENT以外の場合はエラーとなります。 出力内容 [ 接続先HiRDBのバージョンが 09-04以前、且つディクショナリの初期設定にて 混在文字データを使用しない設定の場合] 列番│列名 │表示文字数│形式 │内容 ──┼───────┼─────┼───┼────────── 1│TABLE_SCHEMA │ 12│文字列│認可識別子(#1) 2│TABLE_NAME │ 30│文字列│表識別子 3│N_COLS │ 6│数値 │構成列数 4│N_INDEX │ 7│数値 │インデクス定義数 5│CREATE_TIME │ 14│文字列│表作成時間 6│TABLE_COMMENT │ 255│文字列│表コメント(#3) [ 接続先HiRDBのバージョンが 09-04以前、且つディクショナリの初期設定にて 混在文字データを使用する設定の場合] 列番│列名 │表示文字数│形式 │内容 ──┼───────┼─────┼───┼────────── 1│TABLE_SCHEMA │ 24│文字列│認可識別子(#1) 2│TABLE_NAME │ 30│文字列│表識別子 3│N_COLS │ 6│数値 │構成列数 4│N_INDEX │ 7│数値 │インデクス定義数 5│CREATE_TIME │ 14│文字列│表作成時間 6│TABLE_COMMENT │ 255│文字列│表コメント(#3) [ 接続先HiRDBのバージョンが 09-50以降の場合] 列番│列名 │表示文字数│形式 │内容 ──┼───────┼─────┼───┼────────── 1│TABLE_SCHEMA │ 30│文字列│認可識別子(#1) 2│TABLE_NAME │ 30│文字列│表識別子 3│N_COLS │ 6│数値 │構成列数 4│N_INDEX │ 7│数値 │インデクス定義数 5│CREATE_TIME │ 14│文字列│表作成時間 6│TABLE_COMMENT │ 255│文字列│表コメント(#3) #1: この列をキーに昇順に並び替え表示します。 #3: +COMMENTオプション指定時に出力します。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ TRIGGERS ( トリガ一覧の表示 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 トリガの一覧を表示します。 形式 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ TRIGGERS [ { 認可識別子 | ALL } ] ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ オペランド ● 認可識別子 〜<認可識別子> トリガを所有しているユーザの認可識別子を指定します。 認可識別子を省略した場合は、CONNECT時の認可識別子が 仮定されます。 指定されたユーザが所有するトリガの一覧を表示します。 ● ALL 全てのユーザが所有するトリガの一覧を表示します。 留意事項 (1) 認可識別子の記述については、「( 10 ) 規則」(p)を参照してください。 出力内容 [ 接続先HiRDBのバージョンが 09-04以前、且つディクショナリの初期設定にて 混在文字データを使用しない設定の場合] 列番│列名 │表示文字数│形式 │内容 ──┼───────┼─────┼───┼──────────────── 1│TRIGGER_NAME │ 39│文字列│トリガ名 2│SPECIFIC_NAME │ 30│文字列│トリガ動作手続きの特定名 3│TABLE_NAME │ 30│文字列│トリガを定義した表の名称(#1) 4│ACT │ 3│文字列│トリガ動作時期(#1) 5│EVT │ 3│文字列│トリガ契機種別 6│TYP │ 3│文字列│トリガ動作単位 7│VAL │ 3│文字列│トリガ/インデクス有効フラグ 8│CREATE_TIME │ 16│文字列│トリガ作成時間(#1) [ 上記以外の場合] 列番│列名 │表示文字数│形式 │内容 ──┼───────┼─────┼───┼──────────────── 1│TRIGGER_NAME │ 61│文字列│トリガ名 2│SPECIFIC_NAME │ 30│文字列│トリガ動作手続きの特定名 3│TABLE_NAME │ 30│文字列│トリガを定義した表の名称(#1) 4│ACT │ 3│文字列│トリガ動作時期(#1) 5│EVT │ 3│文字列│トリガ契機種別 6│TYP │ 3│文字列│トリガ動作単位 7│VAL │ 3│文字列│トリガ/インデクス有効フラグ 8│CREATE_TIME │ 16│文字列│トリガ作成時間(#1) #1: トリガを定義した表の名称を第一キーに、トリガ動作時期を第二キーに、 トリガ作成時間を第三キーに昇順に並び替え表示します。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ TYPES ( 抽象データ型一覧の表示 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 抽象データ型の一覧を表示します。 形式 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ TYPES [[ RDノード名[.] ] { 認可識別子 | ALL } ] ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ オペランド ● RDノード名 〜<RDノード名> リモートデータベースアクセスをする場合、RDノード名を指定します。 RDノード名はリモートデータベースがHiRDBの場合のみ指定できます。 RDノード名を省略した場合、ローカルアクセスになります。 ● 認可識別子 〜<認可識別子> 抽象データ型を所有しているユーザの認可識別子を指定します。 認可識別子を省略した場合は、CONNECT時の認可識別子が 仮定されます。 指定されたユーザが所有する抽象データ型の一覧を表示します。 ● ALL 全てのユーザが所有する抽象データ型の一覧を表示します。 留意事項 (1) 本コマンドは、HiRDB Version 5.0以降で使用できます。 (2) RDノード名、認可識別子の記述については、 「( 10 ) 規則」(p)を参照してください。 出力内容 [ 接続先HiRDBのバージョンが 09-04以前、且つディクショナリの初期設定にて 混在文字データを使用しない設定の場合] 列番│列名 │表示文字数│形式 │内容 ──┼─────┼─────┼───┼──────────────── 1│TYPE_ID │ 12│文字列│抽象データ型ID(#1) 2│TYPE_NAME │ 39│文字列│抽象データ型名 3│N_ATTR │ 6│数値 │構成属性数 [ 上記以外の場合] 列番│列名 │表示文字数│形式 │内容 ──┼─────┼─────┼───┼──────────────── 1│TYPE_ID │ 12│文字列│抽象データ型ID(#1) 2│TYPE_NAME │ 61│文字列│抽象データ型名 3│N_ATTR │ 6│数値 │構成属性数 #1: この列をキーに昇順に並び替え表示します。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ USERS ( ユーザ一覧の表示 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 ユーザ情報の一覧を表示します。 形式 ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ USERS [[ RDノード名[.] ] { 認可識別子 | ALL } ] ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ オペランド ● RDノード名 〜<RDノード名> リモートデータベースアクセスをする場合、RDノード名を指定します。 RDノード名はリモートデータベースがHiRDBの場合のみ指定できます。 RDノード名を省略した場合、ローカルアクセスになります。 ● 認可識別子 〜<認可識別子> 表示するユーザの認可識別子を指定します。 認可識別子を省略した場合、ALLが仮定されます。 指定された認可識別子のユーザ情報の一覧を表示します。 ● ALL 全てのユーザ情報の一覧を表示します。 留意事項 (1) RDノード名、認可識別子の記述については、 「( 10 ) 規則」(p)を参照してください。 出力内容 列番│列名 │表示文字列│形式 │内容 ──┼──────┼─────┼───┼──────────────── 1│USER_ID │ 30│文字列│ユーザID(*1) 2│DBA │ 3│文字列│DBA権限 3│SCHEMA │ 6│文字列│スキーマ定義権限 4│CREATE_TIME │ 14│文字列│スキーマ作成時間 5│TEST │ 4│文字列│パスワード制限違反者種別コード │ │ │ │(未チェック時は空白)(*2) *1: この列をキーに昇順に並び替え表示します。 *2: この列は、HiRDB V7 07-02以降に接続したときに、表示します。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ < ( ファイルからのSQL、pdsqlコマンド入力 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 ファイルからSQL、pdsqlコマンドを読み込んで実行します。 形式 ┏━━━━━━━━━━━━━━━━━━━┓ ┃ < ファイル名 ┃ ┃ << ┃ ┗━━━━━━━━━━━━━━━━━━━┛ オペランド ● ファイル名 〜<ファイル名> 実行するSQL、pdsqlコマンドを格納しているファイルのファイル名を指 定します。 規則 (1) 指定したファイル中にEXITコマンドがあると、そこで入力を中断します。 中断した続きから読み込んで実行する場合は、<< を入力してください。 (2) 読み込むファイル中に"<"コマンドを指定することはできません。 参照 > ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ > ( 入力SQL、pdsqlコマンドのファイル出力 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 入力したSQL、pdsqlコマンドをファイルに出力します。 形式 ┏━━━━━━━━━━━━━━━━━━━┓ ┃ > ファイル名 ┃ ┗━━━━━━━━━━━━━━━━━━━┛ オペランド ● ファイル名 〜<ファイル名> 入力したSQL、pdsqlコマンドを出力するファイル名を指定します。 規則 (1) SQL、pdsqlコマンドの出力を終了するには再び > を入力してください。 留意事項 (1) コマンドの格納の終了のために最後に入力した > もファイルに格納されてい るので、コマンドを保存したファイルを入力に使用する場合は、> を削除し てから使用してください。 参照 < ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ /* ( 注釈 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 行を注釈行にします。 形式 ┏━━━━━━━━━━━━━━━━━━━┓ ┃ /* 注釈 [ */ ] ┃ ┗━━━━━━━━━━━━━━━━━━━┛ 注意事項 ・本コマンドは、1行すべてに対して注釈にする場合を対象としています。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ! ( UNIXコマンドの実行 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 ! の後に指定したUNIXコマンドを実行します。 形式 ┏━━━━━━━━━━━━━━━━━━━┓ ┃ ! UNIXコマンド ┃ ┗━━━━━━━━━━━━━━━━━━━┛ オペランド ● UNIXコマンド ・UNIXコマンドを指定します。 注意事項 ・UNIXコマンドとして、文字セミコロンは使用できません。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ : ( サーバコマンドの実行 ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 機能 :(コロン)の後に指定したコマンドをサーバ側で実行します。 形式 ┏━━━━━━━━━━━━━━━━━━━┓ ┃ : コマンド ┃ ┗━━━━━━━━━━━━━━━━━━━┛ オペランド ● コマンド サーバ側で実行するコマンドを指定します。 注意事項 ・コマンドを実行するHiRDBサーバにHiRDB Assist-Serverが必要です。 詳細は、次のマニュアルを参照してください。 マニュアル「HiRDB SQLリファレンス」の 「COMMAND EXECUTE文」 マニュアル「HiRDB UAP開発ガイド」 ・本機能は、以下のバージョンで使用できます。 HiRDB Version 6 06-00以降 参照 SET CMDBUF 付録B.メッセージ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.メッセージの出力形式 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ・メッセージは標準出力に出力されます。 ┏━━━━━━━━━━━━┓ ┃ KFPX27000-E xx....xx ┃ ┗━━━━━━━━━━━━┛ KFPX27000-E : メッセージID xx....xx : メッセージテキスト ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.メッセージの記述形式 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┏━━━━━━━━┓ ┃ KFPX27nnn-i ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ メッセージテキスト ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ メッセージの意味を説明しています。 (S):メッセージ出力後の、本プログラムの動作を示します。 (P):メッセージ出力後に、ユーザがとる処置を示します。 nnn : メッセージ番号を示します。 i : メッセージの重要度を示します。 E:エラーメッセージ (機能が働かない障害が発生したことを示しています) W:警告メッセージ (処理を続行した結果、可能性としてユーザが意図しない 状態であることを警告します。 又はパラメタ値の指定誤りはありましたが, 値を仮定して処理を続行することを示します) I:インフォメーションメッセージ (上記E,及びW に該当しない単純な動作状況を示します) 注意事項 なお、KFPX27nnn以外のメッセージについてはマニュアル「HiRDB メッセージ」又は「XDM E2系メッセージ(XDM/RD E2)」を参照して ください。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.メッセージ一覧 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┏━━━━━━━━┓ ┃ KFPX27001-I ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Processing of SQL completed ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ SQL文の実行が完了しました。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):次のSQL、pdsqlコマンドを入力してください。 ┏━━━━━━━━┓ ┃ KFPX27010-I ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ nnnn rows xxxx ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ nnn件のデータを処理しました。 xxxx : 処理内容 selected : 表示しました。(*1) updated : 更新しました。 inserted : 挿入しました。 deleted : 削除しました。 outputted : ファイル出力しました。(*1) *1)直前にエラーメッセージが表示されている場合は、 エラーとなった行を含む件数を表示します。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):次のSQL、pdsqlコマンドを入力してください。 直前にエラーメッセージが表示されている場合は、 SQL文で指定した操作が完了していません。 直前のエラーメッセージの説明に従って対処してください。 ┏━━━━━━━━┓ ┃ KFPX27021-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ More than nnnn output length ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ 出力長がnnnnバイトを超えています。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):1件分のデータの出力長がnnnnバイト以下になるように修正し、 再度実行してください。 最大ファイルサイズ指定を行い発生した場合は、1件分のデータの 出力長が指定されたサイズを上回っていますので以下を見直してく ださい。 ・最大ファイルサイズの指定値 ・PUTFILEコマンドのオペランド(出力形式) ・SQL文(出力対象列の絞り込み) ┏━━━━━━━━┓ ┃ KFPX27022-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ More than nnnn input length ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ 入力長がnnnnバイトを超えています。 (S):改行文字が出現するまで読み込んだデータを無視し、 次のデータ行を処理します。 (P):GETFILEコマンドで指定した入力データファイルの1行の長さが 1行として読み込みが可能な長さを超えていますので、 以下を見直してください。 ・入力データファイルの行長のうち一番大きい長さ ・環境変数PDSQL_GETFILE_BUFFER_BYTESの設定値 ┏━━━━━━━━┓ ┃ KFPX27032-I ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ 1 character changed ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ 1 個の文字列を変更しました。 (S):引き続き実行するSQLがあれば、そのまま実行します。 (P):引き続き実行するSQLがなければ、 次のSQL、pdsqlコマンドを入力してください。 ┏━━━━━━━━┓ ┃ KFPX27033-I ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ n characters changed ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ n 個の文字列を変更しました。 (S):引き続き実行するSQLがあれば、そのまま実行します。 (P):引き続き実行するSQLがなければ、 次のSQL、pdsqlコマンドを入力してください。 ┏━━━━━━━━┓ ┃ KFPX27040-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Invalid xxxx ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ xxxxが不正です。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):正しい、xxxxを指定し再度実行してください。 SET SESSION AUTHORIZATION文にて小文字を含むパスワードの長さが 29〜30バイトのユーザに変更しようとしたときに,可変部分 xxxxが"password"のメッセージが表示されたときの原因と対処: 小文字を含むパスワードの長さが28バイトを超える場合に 接続ができないクライアントライブラリを参照しています。 接続ができるクライアントライブラリを インストールしてください。 ┏━━━━━━━━┓ ┃ KFPX27041-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Incomplete pdsql command ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ コマンドが未完成です。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):正しい、コマンドを指定し再度実行してください。 ┏━━━━━━━━┓ ┃ KFPX27042-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ More than nn ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ nnより大きい値です。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):nnより小さい値を指定し再度実行してください。 ┏━━━━━━━━┓ ┃ KFPX27043-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Not found before data ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ 変更前文字列が存在しません。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):正しいデータを指定し、再度実行してください。 ┏━━━━━━━━┓ ┃ KFPX27045-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Number of variables invalid or number of ┃ ┃ parameters exceeds max parameters ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ 無効な変数またはパラメタの数が、パラメタの最大値を上回って 指定されました。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):正しい変数またはパラメタの数が、パラメタの最大値を 上回らない様に指定し、再度実行してください。 ┏━━━━━━━━┓ ┃ KFPX27047-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Inconvertible data type of input variable ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ 入力した変数のデータ型は、変換できません。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):正しい変数を入力し、再度実行してください。 ┏━━━━━━━━┓ ┃ KFPX27050-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ More then 32,000 characters in character string literal ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ 指定した文字列が32,000バイトを超えています。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):32,000バイト以下の文字列を指定し、 再度実行してください。 ┏━━━━━━━━┓ ┃ KFPX27051-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Invalid floating point numeric literal ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ 指定された浮動小数点数は無効です。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):正しい値を指定し、再度実行してください。 ┏━━━━━━━━┓ ┃ KFPX27052-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ More then 30 characters in kanji identifier ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ 日本語文字列が30文字を超えています。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):30文字以下の漢字を指定し、再度実行してください。 ┏━━━━━━━━┓ ┃ KFPX27053-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ More then 255 characters in identifier ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ 255文字を超えています。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):255文字以下の文字を指定し、再度実行してください。 ┏━━━━━━━━┓ ┃ KFPX27054-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Invalid national character string literal ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ 指定された各国文字列は無効です。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):正しい文字列を指定し、再度実行してください。 ┏━━━━━━━━┓ ┃ KFPX27055-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ more then 16,000 characters in ┃ ┃ national character string literal ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ 各国文字列が16,000文字を超えて指定されています。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):16,000文字以下の正しい文字列を指定し、 再度実行してください。 ┏━━━━━━━━┓ ┃ KFPX27056-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Invalid kanji identifier ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ 指定された日本語文字列は無効です。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):正しい日本語文字列を指定し、再度実行してください。 ┏━━━━━━━━┓ ┃ KFPX27057-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Numeric literal out of range ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ 範囲外の数値を指定しています。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):数値を範囲内に変更し、再度実行してください。 ┏━━━━━━━━┓ ┃ KFPX27058-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Invalid numeric literal ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ 指定された数値は無効です。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):正しい数値を指定し、再度実行してください。 ┏━━━━━━━━┓ ┃ KFPX27059-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Input data too large for column ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ 入力データは、列定義の長さまたは繰り返し最大要素数を超えています。 または、領域の大きさを変更するコマンド(SET ARRAY LIMIT ,SET BINARY LIMIT,SET BLOB LIMIT,SET CHAR LIMIT,SET NCHAR LIMIT) で指定した範囲を超えています。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):入力データを列定義または領域の大きさに収まるように指定し、 再度実行してください。 または、領域の大きさを変更するコマンドを実行してください。 ┏━━━━━━━━┓ ┃ KFPX27060-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Insufficient memory on PROCESS, size=aa..aa ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ aa..aa : 確保しようとしたサイズ(単位:バイト) PROCESS上でメモリ不足が発生しました。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):十分なメモリを確保し、再度実行してください。 ?パラメタを用いたSQLで発生した場合は、パラメタ領域が 大きすぎるので、対象列を絞り込んだSQLに変更するか、 領域の大きさを変更するコマンドを実行して必要とする入力 パラメタ領域を小さくしてください。 検索SQLにおいて、取得する列データの最大長が大きすぎる 可能性があります。抽出列に BINARY/BLOB/CLOB型を含んでいる 場合は、SET SPLIT SIZEコマンドを実行して分割取得する設定を 行ってください。 ┏━━━━━━━━┓ ┃ KFPX27062-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Invalid data type of operand ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ 無効なオペランドのデータタイプが指定されました。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):正しいオペランドのデータタイプを指定し、 再度実行してください。 ┏━━━━━━━━┓ ┃ KFPX27063-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Invalid precision or scale in scalar function ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ スカラ関数に、無効な精度または、スケールが指定されました。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):正しい値を指定し、再度実行してください。 ┏━━━━━━━━┓ ┃ KFPX27064-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Overflow in scalar function ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ スカラ関数の範囲を超えました。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):範囲内で正しいスカラ関数を指定し、再度実行してください。 ┏━━━━━━━━┓ ┃ KFPX27065-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Block/iterate cannot nest ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ Block/iterate文中にblock文の指定はできません。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):block文の指定を無くし、再度実行してください。 ┏━━━━━━━━┓ ┃ KFPX27066-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Invalid character expression for data type date ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ 日付属性に指定した文字列は誤っています。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):正しい文字列を指定し、再度実行してください。 ┏━━━━━━━━┓ ┃ KFPX27067-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Invalid token of operand ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ オペランドの構文が不正です。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):正しいオペランドの構文を指定し、再度実行してください。 ┏━━━━━━━━┓ ┃ KFPX27068-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Not found variable identifier ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ 指定された変数は見つかりません。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):正しい変数を指定し、再度実行してください。 ┏━━━━━━━━┓ ┃ KFPX27069-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ More than 50 block items, Enter ITERATE command ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ Block/iterate文中に指定されたSQL、pdsqlコマンドが50文 を超えています。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):ITERATEコマンドを入力してください。 ┏━━━━━━━━┓ ┃ KFPX27070-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Command "<" cannot nest ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ 読み込みファイル中に"<"コマンドは指定できません。 (S):当該文をスキップし、次の文を読み込みます。 (P):ファイル中から"<"コマンドを取り除き、再度実行 してください。 ┏━━━━━━━━┓ ┃ KFPX27072-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Command error, aa..aa not found ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ aa..aa : 種類 種類 ::= { Table | Sequence } コマンドで指定された aa..aa で示す種類の名称は見つかりません。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):エラー要因を取り除いてから、再度実行してください。 ┏━━━━━━━━┓ ┃ KFPX27073-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ System call error, func=aa..aa, errno=bbb ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ aa..aa : エラーの発生したシステムコール名称 bbb : システムコールの返したエラー番号 aa....aaで示すシステムコールでエラーが発生しました。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):エラー番号(errno:エラー状態を示す外部変数)を基に, errno.h及び該当する関数の記載されたOSのリファレンスマニュアル を参照して,エラー原因を取り除いてから、再度実行してください。 ┏━━━━━━━━┓ ┃ KFPX27074-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ ioctl error, errno=xx ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ioctlエラー。 詳細エラーコード=xx。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):エラー番号(errno:エラー状態を示す外部変数)を基に, errno.h及びioctlのリファレンスマニュアルを参照して, エラー原因を取り除いてから、再度実行してください。 ┏━━━━━━━━┓ ┃ KFPX27075-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ fdopen error, errno=xx ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ fdopenエラー。 詳細エラーコード=xx。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):エラー番号(errno:エラー状態を示す外部変数)を基に, errno.h及びfdopenのリファレンスマニュアルを参照して, エラー原因を取り除いてから、再度実行してください。 ┏━━━━━━━━┓ ┃ KFPX27076-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ fclose error, errno=xx ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ fcloseエラー。 詳細エラーコード=xx。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):エラー番号(errno:エラー状態を示す外部変数)を基に, errno.h及びfcloseのリファレンスマニュアルを参照して, エラー原因を取り除いてから、再度実行してください。 ┏━━━━━━━━┓ ┃ KFPX27077-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ fflush error, errno=xx ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ fflushエラー。 詳細エラーコード=xx。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):エラー番号(errno:エラー状態を示す外部変数)を基に, errno.h及びfflushのリファレンスマニュアルを参照して, エラー原因を取り除いてから、再度実行してください。 ┏━━━━━━━━┓ ┃ KFPX27078-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ open error, errno=xx ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ openエラー。 詳細エラーコード=xx。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):エラー番号(errno:エラー状態を示す外部変数)を基に, errno.h及びopenのリファレンスマニュアルを参照して, エラー原因を取り除いてから、再度実行してください。 ┏━━━━━━━━┓ ┃ KFPX27079-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ aa..aa error, errno=bb..bb ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ aa..aa : Cランタイム関数の名称 bb..bb : Cランタイムのエラー番号またはメッセージ (S):SQL、pdsqlコマンドの入力を待ちます。 (P):エラー番号(errno:エラー状態を示す外部変数)の場合は、 エラー番号を基に、errno.hを参照してください。 またCランタイム関数のリファレンスマニュアルを参照して、 エラー原因を取り除いてから、再度実行してください。 ┏━━━━━━━━┓ ┃ KFPX27080-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Inconvertible data type in comparison predicate ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ 比較部分で、変換できないデータ型が指定されました。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):正しいデータ型を指定し、再度実行してください。 ┏━━━━━━━━┓ ┃ KFPX27086-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ fputs error, errno=xx ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ fputsエラー。 詳細エラーコード=xx。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):エラー番号(errno:エラー状態を示す外部変数)を基に, errno.h及びfputsのリファレンスマニュアルを参照して, エラー原因を取り除いてから、再度実行してください。 ┏━━━━━━━━┓ ┃ KFPX27087-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ write error, errno=xx ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ writeエラー。 詳細エラーコード=xx。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):エラー番号(errno:エラー状態を示す外部変数)を基に、 errno.h及びwriteのリファレンスマニュアルを参照して、 エラー原因を取り除いてから、再度実行してください。 ┏━━━━━━━━┓ ┃ KFPX27091-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Not found ";" after command ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ SQL、pdsqlコマンドの最後にセミコロン(";")がありません。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):セミコロンをつけて再実行してください。 ┏━━━━━━━━┓ ┃ KFPX27092-I ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Processing of SET XXXXX command completed ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ pdsqlコマンドの SET XXXXX コマンドの実行が完了しました。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):次のSQL、pdsqlコマンドを入力してください。 ┏━━━━━━━━┓ ┃ KFPX27094-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Error occurred on HiRDB. SQLCODE = xx ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ HiRDBでエラーが発生しました。 SQLコード = xx (S):SQL、pdsqlコマンドの入力を待ちます。 (P):正しいデータ型を指定し、再度実行してください。 ┏━━━━━━━━┓ ┃ KFPX27097-I ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Auto commit ( XXX -> YYY ) ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ Auto Commit状態が、XXXからYYYに変わりました。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):次のSQL、pdsqlコマンドを入力してください。 ┏━━━━━━━━┓ ┃ KFPX27098-I ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Auto rollback ( XXX -> YYY ) ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ Auto Rollback状態が、XXXからYYYに変わりました。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):次のSQL、pdsqlコマンドを入力してください。 ┏━━━━━━━━┓ ┃ KFPX27901-I ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Processing of XXXXX command completed ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ pdsqlコマンドの XXXXX コマンドの実行が完了しました。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):次のSQL、pdsqlコマンドを入力してください。 ┏━━━━━━━━┓ ┃ KFPX27903-W ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Invalid environment definition, variable= XXXXX ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ 環境変数 XXXXX が無効です。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):次のSQL、pdsqlコマンドを入力してください。 もしくは、pdsqlを停止した後、正しい値を指定し、再度実行 してください。 ┏━━━━━━━━┓ ┃ KFPX27904-I ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Execute server command, return code = xx ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ サーバコマンドを投入しました。 xx:KFPZ02470-E又はKFPZ02471-Eメッセージと共に出力された 場合は、COMMAND EXECUTE文のリターンコードを示します。 その他の場合は、COMMAND EXECUTE文の実行コマンドリターン コードを示します。 いずれの場合も、マニュアル「HiRDB SQLリファレンス」の COMMAND EXECUTEを参照してください。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):次のSQL、pdsqlコマンドを入力してください。 ┏━━━━━━━━┓ ┃ KFPX27905-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Invalid HiRDB Client Library Installed ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ 無効なHiRDBクライアントライブラリがインストールされています。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):実行しようとした機能を使用するには、次に示すバージョンの HiRDBクライアントライブラリをインストールしてください。 ・サーバコマンドの実行:バージョン06-00以降 ・結果集合返却機能 :バージョン07-02以降 結果集合返却機能については、マニュアル 「HiRDB SQLリファレンス」および「HiRDB UAP開発ガイド」を 参照してください。 インストール済みであれば、共用ライブラリを検索するディレ クトリを指定する環境変数の設定を見直してください。 ┏━━━━━━━━┓ ┃ KFPX27906-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Number of datas in input file not equal to questions, ┃ ┃ line = xx ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ 格納する?パラメタ数と一致しません。入力データの行=xx。 (S):次のデータ行を処理します。 (P):入力データファイルの該当する行番号のデータを 修正してください。 ┏━━━━━━━━┓ ┃ KFPX27907-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Unable to specify XXXX operand with YYYY operand ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ YYYYオペランドを指定しているときはXXXXオペランドは指定できません。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):オペランドの組み合わせを正しく指定し、再度実行してください。 ┏━━━━━━━━┓ ┃ KFPX27909-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Command "QUIT" can be used only under BLOCK/ITERATE or ┃ ┃ ? paramete input exception ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ "QUIT"コマンドはBLOCK文中か?パラメタの入力中しか使えません。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):次のSQL、pdsqlコマンドを入力してください。 ┏━━━━━━━━┓ ┃ KFPX27910-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Sum of columns length exceeds 4GB ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ 検索データ長及び入出力パラメタ長が4GBを超えました。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):検索データ長及び入出力パラメタ長を4GB以下の長さにして、 再度実行してください。 検索SQLにおいて、取得する列データの最大長が大きすぎる 可能性があります。抽出列に BINARY/BLOB/CLOB型を含んでいる 場合は、SET SPLIT SIZEコマンドを実行して分割取得する設定を 行ってください。 ┏━━━━━━━━┓ ┃ KFPX27911-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Invalid data type of retrieval item XX ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ XX番目の検索項目のデータ型が不正です。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):次のSQL、pdsqlコマンドを入力してください。 ┏━━━━━━━━┓ ┃ KFPX27912-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Invalid data type of "?" parameter XX ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ XX番目の"?"パラメタのデータ型が不正です。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):次のSQL、pdsqlコマンドを入力してください。 ┏━━━━━━━━┓ ┃ KFPX27916-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ More than 2000000 input length ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ SQL、pdsqlコマンドの入力が2000000バイトを超えています。 (S):処理を中断します。 (P):2000000バイト以下のSQL、pdsqlコマンドを入力してください。 ┏━━━━━━━━┓ ┃ KFPX27920-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Insufficient display area ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ 検索結果を表示するための領域が不足しています。 文字コード種別が格納されているデータと一致していない可能性が あります。 (S):処理を中断します。 (P):環境変数LANGまたは、環境変数PDSQL_LANGに格納データと 一致する文字コード種別を設定してください。 ┏━━━━━━━━┓ ┃ KFPX27921-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ No data in input data file ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ 入力データファイルにデータがありません。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):データが存在する入力データファイルを指定し、 再度実行してください。 ┏━━━━━━━━┓ ┃ KFPX27922-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Unable to execute XXXX with YYYY mode ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ コマンド又はSQL=XXXX モード名=YYYY モード名 ::= { analysis } YYYYモードで指定されたコマンド又はSQLを実行することが できません。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):設定状態と実行コマンド又はSQLの組み合わせを確認 してください。 ┏━━━━━━━━┓ ┃ KFPX27923-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Cannot XXXX command, YYYY ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ コマンド=XXXX 状態=YYYY YYYYに示す状態で、指定されたコマンドを実行することができません。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):状態と実行コマンドを確認してください。 ┏━━━━━━━━┓ ┃ KFPX27924-I ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Transaction XXXX by WHENEVER specification ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ commit又はrollback=XXXX WHENEVERコマンドの指定によりトランザクションがXXXXに示す状態で 決着しました。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):次のSQL、pdsqlコマンドを入力してください。 ┏━━━━━━━━┓ ┃ KFPX27926-I ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Starting putfile to xxxx ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ xxxxを出力先としたPUTFILEコマンドを開始します。 xxxx:出力データファイル名 (S):検索結果をファイルに出力します。 (P):次のSQL、pdsqlコマンドを入力してください。 ┏━━━━━━━━┓ ┃ KFPX27927-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Create output data file exceeds 99999 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ 出力できるファイルの最大数を上回る出力データファイルを作成 しようとしました。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):出力できるファイルの最大数を超えないよう、最大件数指定または 最大ファイルサイズ指定の値を大きくし、再度実行してください。 ┏━━━━━━━━┓ ┃ KFPX27928-E ┃ ┣━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Unable to use XXXX option, reason=YYYY ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ オプションXXXXは使用できません。 XXXX:使用できないオプション YYYY:理由 Invalid server version. 接続先のデータベースが以下のいずれかに該当します。 (i)HiRDB以外である。 (ii)HiRDBサーバのバージョンが 08-04未満である。 Invalid HiRDB client version. 無効なHiRDBクライアントライブラリです。 PUTFILEコマンドにおいて、RDエリア毎にファイル分割する 機能を使用するときはバージョン 08-04以降をインストール してください。 Specified SQL unsatisfied condition (query). 指定されたSELECT文が以下のいずれかに該当します。 (i)副問合せや表結合を行なっている。 (ii)WITH句、又は{UNION | EXCEPT}を使用している。 Specified SQL unsatisfied condition (table reference). 指定されたSELECT文の表参照が以下のいずれかに該当します。 (i)FROM句においてリストを指定している。 (ii)ビュー表を指定している。 (iii)非分割の表を指定している。 Specified SQL unsatisfied condition (IN operand exists). 指定されたSELECT文の表参照においてRDエリア指定が 行われている。 (S):SQL、pdsqlコマンドの入力を待ちます。 (P):次のSQL、pdsqlコマンドを入力してください。 付録C.?パラメタを使用したデータの入力 1.値の入力要求 ?を指定したSQLを入力すると、次のメッセージを出力して値の入力を 要求します。 DATA ( 1) ? : DECIMAL(29,10) ARRAY[4] : VALUE(NULL) ↑ ↑ ↑ @ A B @ SQLの何番目の?パラメタに対する入力要求かを表します。 A ?パラメタのデータ型 ?パラメタの情報としてサーバが返したデータ型を表します。 詳細は、TABLEINFコマンドの「表A-5 データコード値と表示する文字列」を 参照してください。 また、抽象データ型のパラメタ入出力はできません。 非ナル値制約列の場合、NOT NULLの修飾表現を表示します。 繰返し列の場合、ARRAY[n](nは繰り返し数)の修飾表現を表示します。 『値式 IS NULL』の値式に対する?パラメタのときは、 "SQLCODE = 0x01"と表現します。 識別不可能なデータ型のときは、 “SQLCOD =**: SQLLEN =*****: SQLXDIM = 1”と表現します。 B *が入力されたときの設定値を表します。 データ型が文字列型([M | N][VAR]CHAR) 、長大データ型(BLOB) 、BINARY型 もしくはCLOB型のときは、最大16バイトまでを表示し、以降は表示を省略 します。 長大データ型(BLOB)もしくはBINARY型のときは、16進で表示します。 (但し、長大データ型(BLOB)およびBINARY型でデータの長さが0バイトの ときは、「''」表現とします。) 繰返し列のときは、1要素目のデータのみを表示します。 2.入力規則 2.1.全般 ・入力要求に対するパラメタ値入力の終了は、行の最後にセミコロンを入力し 改行してください。 ・長大データ型(BLOB)、BINARY型またはCLOB型に対しては、文字列定数、 「16進入力」形式または「ファイル入力」形式で入力が可能です。 ・数値変換不正など、KFPX系エラーが発生した場合、再度、値の入力を 要求するプロンプトを表示します。 ・空送信時は、エラーとなります。 ・繰返し列に対する入力は、下に示すようにARRAY[]を使用します。 ARRAY [要素の値〔,要素の値〕…] (例) CREATE TABLE T(C INTEGER ARRAY[3]); INSERT INTO T VALUES(?); (入力要求プロンプト) ARRAY[100,200,300]; 要素の値に指定できる形式は、「値入力」「16進入力」および「*」です。 要素の値が「表C-1 各データ型に対応した推奨する定数と形式」と一致しない ときは、エラーとなります。 要素の値が定義長を超えるデータのときは、KFPX27059-Eエラーとなります。 ・環境変数 PDSQLBLOBLIMIT、PDSQLBINARYLIMIT、PDSQLCLOBLIMITおよび、 pdsqlコマンド SET ARRAY LIMIT 、SET BINARY LIMIT、SET BLOB LIMIT、 SET CLOB LIMIT、SET CHAR LIMIT、SET FETCH LIMIT、SET NCHAR LIMITで 指定した長さが入力可能な最大長となります。 (入力可能な最大長を超えるデータを入力した場合、 メッセージ:KFPX27059-Eを出力します。) ・入力要求に対するパラメタ値入力をやめて、?パラメタを指定したSQLを 取り消したい場合はQUITを入力してください。 2.2.値の入力 ?パラメタに対する値の入力形式は、「値入力」「16進入力」 「ファイル入力」および「*」があります。 2.3.「値入力」形式 定数または、ナル値を示すNULLを用いることができます。 定数の表記法および範囲については、HiRDBマニュアル 「SQLリファレンス」の「表1-13 定数の表記法」および 「表1-14 数定数の使用上の制限」を参照してください。 また、?パラメタの各データ型に対応した推奨する定数と形式を 「表C-1 各データ型に対応した推奨する定数と形式」に示します。 表C-1 各データ型に対応した推奨する定数と形式 ┌───────┬────────────────────────────┐ │データ型 │推奨する定数と形式 │ ├───────┼────────────────────────────┤ │INTERVAL YEAR │・年(YYYY),月(MM),日(DD),時(hh),分(mm) │ │ TO SECOND│ ,秒(ss),小数部(nnnnnn)を10進数定数 │ │ │ [-]YYYYMMDDhhmmss.[nnnnnn]の形式で記述してください。 │ │ │ (※1) │ │ │ │ │INTERVAL YEAR │・年(YYYY),月(MM),日(DD)を10進数定数 │ │ TO DAY│ [-]YYYYMMDD.の形式で記述してください。 │ │ │ (※1) │ │ │ │ │INTERVAL HOUR │・時(hh),分(mm),秒(ss),小数部(nnnnnn)を │ │ TO SECOND│ 10進数定数[-]hhmmss.[nnnnnn]の形式で記述してくださ │ │ │ い。(※1) │ │ │ │ │DATE │・年(YYYY),月(MM),日(DD)をハイフンで結んだ │ │ │ 文字列定数 'YYYY-MM-DD' の形式で記述してください。 │ │ │ 年(YYYY),月(MM),日(DD)のけた数に満たない場合 │ │ │ は,足りないけた数分だけ左側に0 を補ってください。 │ │ │ │ │TIME │・時(hh),分(mm),秒(ss)をコロン(:)で結んだ │ │ │ 文字列定数 'hh:mm:ss[.nnnnnn]' の形式で記述 │ │ │ してください。 │ │ │ 時(hh),分(mm),秒(ss)のけた数に満たない場合 │ │ │ は,足りないけた数分だけ左側に0 を補ってください。 │ │ │ 小数秒精度を表現する場合,秒(ss)と小数秒(nn…n) │ │ │ の間を,ピリオドで結んでください。(※1) │ │ │ │ │TIMESTAMP │・年(YYYY),月(MM),日(DD)をハイフンで結び,空白を│ │ │ 含めてから,更に時(hh),分(mm),秒(ss)をコロン(│ │ │ :)で結んだ文字列定数 'YYYY-MM-DD hh:mm:ss[.nnnnnn]' │ │ │ の形式で記述してください。 │ │ │ 年(YYYY),月(MM),日(DD)のけた数に満たない場合 │ │ │ は,足りないけた数分だけ左側に0 を補ってください。 │ │ │ 同様に,時(hh),分(mm),秒(ss)のけた数に満たない│ │ │ 場合は,足りないけた数分だけ左側に0 を補ってください。│ │ │ 小数秒精度を表現する場合,秒(ss)と小数秒(nn…n)の │ │ │ 間を,ピリオドで結んでください。 │ │ │ │ │MVARCHAR 及び│・混在文字列定数の形式で記述してください。 │ │MCHAR │ │ │ │ │ │NVARCHAR 及び│・各国文字列定数の形式で記述してください。 │ │NCHAR │ │ │ │ │ │VARCHAR 及び│・文字列定数の形式で記述してください。 │ │CHAR │ │ │ │ │ │DECIMAL 及び│・整数定数または10進数定数の形式で記述してください。 │ │INTEGER 及び│ (※1) │ │SMALLINT │ │ │ │ │ │FLOAT 及び│・整数定数,10進数定数または浮動小数点数定数の形式 │ │SMALLFLT │ で記述してください。 │ │ │ │ │BINARY │・文字列定数または16 進文字列定数の形式で記述して │ │ │ ください。 │ │ │ │ │BLOB 及び│・文字列定数または16 進文字列定数の形式で記述して │ │CLOB │ ください。 │ └───────┴────────────────────────────┘ (※1) INTEGER,SMALLINT,TIME,DECIMAL,INTERVAL YEAR TO SECOND,INTERVAL YEAR TO DAY,INTERVAL HOUR TO SECONDに対する 入力において、小数点以下の入力など、対象データ型に格納できる範囲を 越えるデータが入力された場合、HiRDB SQL Executerがエラーとします。 表C-1に挙げる定数以外でもHiRDB側の変換機能により入力が可能です。 詳細は、HiRDBマニュアル「SQLリファレンス」の 「1.2.2 変換(代入,比較)できるデータ型」を参照してください。 2.4.「16進入力」形式 「0x」(xは大文字でも可)で始まり、それに続き16進文字が数個並ぶ文字列を 指します。 ・本形式は、浮動小数点数型(FLOAT,REAL)に対して使用することができません。 ・入力桁数が奇数の場合、先頭に0を付加し処理されます。 例)入力 :0x100 処理値:0x0100 ・入力が各々の型の定義長を超えるときは、エラーとなります。 例)対象データ型:CHAR(4) 入力 :0x413132333435 …6バイトを表現しているのでエラー。 ・整数数値型(INTEGER,SMALLINT)に対する入力では、 入力データ(16進表現)を10進表現に変換し設定します。 例)対象データ型:INTEGER 入力:0x00001000 設定:4096 ・固定小数点型(DECIMAL,INTERVAL YEAR TO SECOND,INTERVAL YEAR TO DAY ,INTERVAL HOUR TO SECOND)に対する入力では、入力データを連続した バイト値として、設定します。 形式はパック10進形式で定義長に合せて記述してください。 例)対象データ型:DECIMAL(10,4) ...定義長は6バイト 入力:0x01234567891C 設定:123456.7891 ・整数数値型および固定小数点型以外に対する入力では、入力データを連続 したバイト値として、設定します。 例)対象データ型:VARCHAR(16) 入力:0x41313233 設定:’A123’ 2.5.「ファイル入力」形式 形式: FILE ファイル名 オペランド: ● ファイル名 〜<ファイル名> 入力データ(バイナリ)が格納されているファイル名を指定します。 説明: 指定したファイルからの入力を指します。 ・ファイル内容の連続バイト(制御文字を含むバイナリ)が、入力データと なります。 ファイルサイズが0のファイルを指定したときは、長さ0のデータを入力 データとします。 ・「ファイル名」は絶対パスで指定してください。 ・「ファイル名」に空白(X'20')または TAB(X'09')を含む場合は、 「ファイル名」を二重引用符で囲んでください。 (例) FILE "/tmp/DA DC.txt"; ・指定したファイルが存在しない場合、エラーとなります。 ・本形式は、文字列型([M | N][VAR]CHAR)、TIME型、DATE型、TIMESTAMP型、 長大データ型(BLOB)、BINARY型またはCLOB型に対してのみ有効です。 2.6.「*」 アスタリスク(*)を入力されたときは、入力要求メッセージのVALUEで示した 値を展開します。 VALUEで示す値は、下記に示す条件を全て満たす場合に限り、 前回に入力された値を展開します。 (1)前回SQLと同一のSQLを実行する (2)前回SQLとの間に受け渡し領域の大きさを変更するコマンド( SET ARRAY LIMIT,SET BINARY LIMIT,SET BLOB LIMIT,SET CHAR LIMIT, SET NCHAR LIMIT)を実行しない 但し、前回SQLと同一のSQLを実行する場合であっても、下記に示す条件 のときは前回に入力された(当該データ)値を有効としません。 (値は、不定値になります。) ・数値文字間の暗黙型変換を利用した場合 ・SQL Executer内でのエラー(KFPXで始まるエラー)が発生した場合 ・データ型不正のエラーが発生した場合 ・検索条件値として入力したデータが、定義長より長い場合 (1)(2)の条件を満たさないときは、 「表C-4 アスタリスクを記述した場合に展開する値」に示す値を展開します。 表C-4 アスタリスクを記述した場合に展開する値 ┌──────────────┬─────────────────────┐ │?パラメタに対応するデータ型│展開する値 │ ├──────────────┼─────────────────────┤ │(非ナル値制約がない場合) │NULL │ ├──────────────┼─────────────────────┤ │(非ナル値制約付きの場合) │ │ │ INTEGER │0 │ │ SMALLINT │0 │ │ DECIMAL │0 │ │ FLOAT │0 │ │ SMALLFLT │0 │ │ CHARACTER(n) │nバイトの空白 │ │ VARCHAR(n) │1バイトの空白 │ │ NCHAR(n) │n文字の空白 │ │ NVARCHAR(n) │1文字の空白 │ │ MCHAR(n) │nバイトの空白 │ │ MVARCHAR(n) │1バイトの空白 │ │ DATE │0001-01-01 │ │ TIME │00:00:00 │ │ INTERVAL YEAR TO SECOND │0ヶ年0ヶ月0ヶ日0時間0分0秒間 │ │ INTERVAL YEAR TO DAY │0ヶ年0ヶ月0ヶ日間 │ │ INTERVAL HOUR TO SECOND │0時間0分0秒間 │ │ BLOB(n) │長さ0バイトのデータ │ │ TIMESTAMP |0001-01-01△00:00:00 *(注1) │ │ BINARY(n) |長さ0バイトのデータ │ │ CLOB(n) |長さ0バイトのデータ │ └──────────────┴─────────────────────┘ *(注1) △は半角スペースを表します。 付録D.XDM/RD E2接続 XDM/RD E2に接続する場合に使用できる、XDM/RD E2のデータ型とSQLの記述形式 については、マニュアル「HiRDB XDM/RD E2接続機能」の「6.1基本項目」を 参照してください。 1.データ型に対する注意事項 1.1BOOLEAN型 ・ このデータ型の列を検索することはできません。 ・ ?パラメタを使用することができません。 1.2CHAR型またはMCHAR型 ・ ?パラメタに2バイト文字を含むデータを入れると、XDM/RD E2 が 文字コード変換してデータ長が延びた結果、SQLがエラーになることが あります。 その場合SET PADDING CHARコマンドにNONEを指定してください。 1.3INTERVAL YEAR TO SECOND型、INTERVAL HOUR TO SECOND型、TIME型、 およびSMALLFLT型 ・ これらのデータ型を扱う場合、HiRDB SQL Executerが表D-1に示すデータ型の 変更を行った後に、入出力を行います。 表D-1 XDM/RD E2接続におけるデータ型の変更 ┌─────────────┬────────────┬────┐ │XDM/RD E2のデータ型 │変更後のHiRDBのデータ型 │変更理由│ ├─────────────┼────────────┼────┤ │INTERVAL YEAR TO SECOND(n)│DECIMAL(14+n,n) │(*1) │ │INTERVAL HOUR TO SECOND(n)│DECIMAL(6+n,n) │(*2) │ │TIME(n) │CHAR(m) │(*3) │ │ │ n=0:m=8 │ │ │ │ n>0:m=9+n │ │ │SMALLFLT │FLOAT │(*4) │ └─────────────┴────────────┴────┘ (*1)INTERVAL YEAR TO SECOND型がHiRDBのデータ型に存在しないため、 DECIMAL型にデータ型を変更します。 (*2)HiRDBのデータ型ではINTERVAL HOUR TO SECOND型に小数秒精度が存在せず、 XDM/RD E2のデータを正しく表現できないことがあるため DECIMAL型にデータ型を変更します。 (*3)HiRDBのデータ型ではTIME型に小数秒精度が存在せず、XDM/RD E2のデータを 正しく表現できないことがあるためCHAR型にデータ型を変更します。 (*4)XDM/RD E2でのSMALLFLT型の有効範囲をExecuterを実行しているマシンの 単精度浮動小数点数で表現できず範囲外となる場合があるため、データ型を 変更します。 2.pdsqlコマンドに対する注意事項 pdsqlコマンドの一覧は「表8-1 本プログラムから実行可能なコマンド」を参照 してください。 2.1 使用できないコマンド 「:(サーバコマンド実行)」コマンドは使用できません。 2.2 ディクショナリ情報表示コマンド ディクショナリ情報表示コマンドを使用するにはHiRDB形式ディクショナリビュー 表の定義が必要になります。 HiRDB形式ディクショナリビュー表については、下記を参照してください。 ・マニュアル「XDM E2系 XDM/RD E2 使用の手引−運用編−」 下記コマンドを利用するにあたって、9文字以上のスキーマ名を使用する場合、 コマンドを実行した結果において、スキーマ名を含む文字列が列の幅を超える部分 は、表示されません。 CONSTRAINTS、RDAREAINF、SEQUENCES、TABLES、TRIGGERS、TYPES XDM/RD 11-00以前のバージョンにおいては、トリガ、制約に関わる HiRDB形式ディクショナリビュー表が存在しないため、下記の制限があります。 (1)TRIGGERS、CONSTRAINTSコマンドはエラーとなります。 (2)トリガ、制約に関わる情報は、TABLEINFコマンドで表示されません。 (3)トリガ、制約に関わる情報を、SOURCEコマンドにより表示しようと するとエラーとなり表示できません。 3. 実行できるSQL及びSQL文の終了指定 3.1 実行できるSQL XDM/RD E2接続で実行できるSQLを表D-2に示します。 SQLの文法については、下記を参照してください。 ・マニュアル「XDM E2系 XDM/RD E2 SQLリファレンス」 表D-2 本プログラムで実行できるSQL 実行できるSQL 内容 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 定義系 スキーマの定義 CREATE SCHEMA スキーマを定義します。 SQL DROP SCHEMA スキーマを削除します。 表の定義 ALTER TABLE 表定義を変更します。 CREATE TABLE 表を定義します。 DROP TABLE 表を削除します。 ビューの定義 CREATE VIEW ビュー表を定義します。 DROP VIEW ビュー表を削除します。 インデクスの定義 CREATE INDEX インデクスを定義します。 DROP INDEX インデクスを削除します。 手続きの定義 ALTER PROCEDURE 手続きを再作成します。 CREATE PROCEDURE(*1)手続きを定義します。 DROP PROCEDURE 手続きを削除します。 別名の定義 CREATE ALIAS 別名を定義します。 DROP ALIAS 別名を削除します。 関数の再作成 ALTER FUNCTION 関数を再作成します。 関数の定義 CREATE FUNCTION(*2) 関数を定義します。 DROP FUNCTION 関数を削除します。 型の定義 CREATE TYPE(*3) 型を定義します。 ユーザ定義型の削除 DROP TYPE 抽象データ型、個別型、 名前付き行型を削除します。 トリガの定義 ALTER TRIGGER トリガのSQLオブジェクトを 再作成します。 CREATE TRIGGER(*4) トリガを定義します。 DROP TRIGGER トリガを削除します。 順序数生成子の定義 ALTER SEQUENCE 順序数生成子の定義を 変更します。 CREATE SEQUENCE 順序数生成子を定義します。 DROP SEQUENCE 順序数生成子を削除します。 RDノード対応定義の CREATE NONLOCAL RDノードと表の対応を定義しま 定義 TABLE す。 DROP NONLOCAL TABLE RDノードと表の対応定義を削除 します。 ロール定義 CREATE ROLE ロールを定義します。 DROP ROLE ロールを削除します。 ユーザ属性の変更 ALTER USER ユーザ属性を変更します。 権限の サブシステム GRANT DBA DBA権限を与えます。 定義 権限 REVOKE DBA DBA権限を取り消します。 GRANT CONNECT CONNECT権限を与えます。 REVOKE CONNECT CONNECT権限を取り消します。 スキーマ定義 GRANT SCHEMA スキーマ定義権限を与えます。 権限 REVOKE SCHEMA スキーマ定義権限を取り消しま す。 アクセス権限 GRANT アクセス権限 アクセス権限を与えます。 REVOKE アクセス権限 アクセス権限を取り消します。 RDエリア GRANT RDAREA RDエリア利用権限を与えます。 利用権限 REVOKE RDAREA RDエリア利用権限を取り消しま す。 ユーザ定義型 GRANT ユーザ定義型 ユーザ定義型権限を与えます。 権限 権限 REVOKE ユーザ定義型 ユーザ定義型権限を取り消しま 権限 す。 シーケンス GRANT シーケンス シーケンス生成子権限を与えま 生成子権限 生成子権限 す。 REVOKE シーケンス シーケンス生成子権限を取り消 生成子権限 します。 ロール利用 GRANT ロール利用権限ロール利用権限を与えます。 権限 REVOKE ロール利用 ロール利用権限を取り消します。 権限 注釈の付加 COMMENT 表及び列に注釈を付けます。 ────────────────────────────────────── 操作系 行の削除 DELETE 行を削除します。 SQL 行の挿入 INSERT 行を挿入します。 全行の削除 PURGE TABLE 全行を削除します。 検索 SELECT(*6) 表のデータを検索します。 行の更新 UPDATE 表のデータを更新します。 ────────────────────────────────────── 制御系 トランザクションの COMMIT トランザクションを終了させま 終了 す。 表の排他制御 LOCK 表に排他制御をします。 トランザクションの ROLLBACK トランザクションを取り消しま 取り消し す。 ────────────────────────────────────── SQL 手続きの呼び出し CALL(*5) 手続きを呼び出します。 制御文 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ *1: CREATE PROCEDUREを指定する場合は1行の最後に END_PROC を付加します。 (例) CREATE PROCEDURE P1() BEGIN INSERT INTO T1 (C1) VALUES(10) ; UPDATE T1 SET C1 = 0 WHERE C1 < 10 ; END END_PROC; *2:CREATE FUNCTIONを指定する場合は1行の最後に END_FUNC を付加します。 (例) CREATE FUNCTION FUNC1( NUM1 INTEGER,NUM2 INTEGER ) RETURNS INTEGER BEGIN DECLARE SUM1 INTEGER; SET SUM1 = NUM1 + NUM2; RETURN SUM1; END END_FUNC; *3:CREATE TYPEを指定する場合は1行の最後に END_TYPE を付加します。 (例) CREATE TYPE TEL( NAME VARCHAR(15),TEL_NO INTEGER ) END_TYPE; *4:CREATE TRIGGERを指定する場合は1行の最後にEND_TRIGを付加します。 (例) CREATE TRIGGER TRIG1 AFTER INSERT ON T0 FOR EACH ROW INSERT INTO T1 VALUES(10, 'ABC') END_TRIG; *5:CALL文で呼び出す手続きの引数が入力パラメタの場合、値式または“?” を指定できます。手続きの引数が出力パラメタまたは入出力パラメタの場合 、手続きの引数に“?”を指定してください。 CALL文を入力後、入力パラメタまたは入出力パラメタに対し“?”を指定し た数分の応答要求があるので対応した値を指定してください。 すべての入力応答を行った後、CALL文が実行され正常終了した際に、 出力パラメタまたは入出力パラメタの結果を表示します。 (例) 手続き: CREATE PROCEDURE BOUNUS_CNTS(IN VAL INTEGER,OUT POINT INTEGER) BEGIN SET POINT = VAL + 100; END END_PROC; CALL文の実行例: call BOUNUS_CNTS(?,?); DATA ( 1) ? : INTEGER : VALUE(NULL) ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+ 5000; POINT ------------ 5100 *6:指定できるのは動的SELECTのみです。また、カーソル指定はできません。 付録E.SQL予約語削除機能による影響 pdsqlコマンドおよびSQL Executerが提供する機能の中には、 HiRDBサーバのSQL予約語削除機能にて削除可能な予約語を使用した SQL文を発行しているものが存在します。 予約語を削除すると文法エラー等が発生し、使用できなくなるコマンド /機能を表E-1に示します。 表E-1 予約語削除により使用できなくなるコマンド/機能 予約語 使用できなくなるコマンド/機能 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ CASE TABLEINF/TRIGGERS ELSE TABLEINF/TRIGGERS END TABLEINF/TRIGGERS FREE (SET SPLIT SIZEによる長大データの分割取得) NOWAIT COLUMNS/CONSTRAINTS/DESCRIPTORS/FILES/INDEXCLM/INDEXES /LOBS/PRPARAMS/RDAREAINF/RDAREAS/ROUTINES /SEQINF/SEQUENCES /SERVERS/SOURCE/TABLEINF/TABLES/TRIGGERS/TYPES/USERS SUBSTR COLUMNS/CONSTRAINTS/DESCRIPTORS/INDEXCLM/LOBS /PRPARAMS/ROUTINES/SEQUENCES/SERVERS /TABLEINF/TABLES/TRIGGERS/TYPES/ THEN TABLEINF/TRIGGERS VALUE COLUMNS/DESCRIPTORS/INDEXCLM/INDEXES/PRPARAMS /RDAREAS/SEQINF/SEQUENCES/TABLEINF/USERS WHEN TABLEINF/TRIGGERS