スケーラブルデータベースサーバ HiRDB Version 8 コマンドリファレンス(Windows(R)用)

[目次][索引][前へ][次へ]

4.4 規則及び注意事項

<この節の構成>
(1) 規則
(2) 注意事項
(3) SQLエラー時に出力される情報
(4) 注釈(コメント)の扱い
(5) BOMを持つファイルの使用

(1) 規則

  1. データベース定義ユティリティは,HiRDBが稼働中のときだけ実行できます。
  2. データベース定義ユティリティは,任意のサーバマシンから実行できます。
  3. 定義系SQLを実行すると,1SQLごとにコミット処理を実行します。
  4. 実行できるSQL文の長さは,最大2メガバイトです。
  5. 1行に複数の定義系SQLは記述できません。
  6. データベース定義ユティリティでCREATE INDEXを実行する場合,インデクスを作成する表に行データが格納されていると,CREATE INDEXを実行するときにインデクスを一括作成します。このとき,クライアント環境定義にPDDBLOG=NOを指定していると,データベースの更新ログ取得しないでインデクスを一括作成します。したがって,この場合HiRDB管理者はログレスモードで運用する必要があります。ログレスモードの運用方法については,マニュアル「HiRDB Version 8 システム運用ガイド」を参照してください。
  7. データ連動の対象となる抽出側データべースに対して,ALTER TABLE又はDROP TABLEは実行しないでください。実行した場合,整合性が保証されません。ただし,対象となるデータべース中の表又は列が更新中でなく,かつ既に更新情報がすべて反映側に転送されている場合には,HiRDB側の定義を変更してください。そして,それに合わせてHiRDB Datareplicator側での抽出となる表又は列の抽出定義をhdeprepコマンドで再度解析してからHiRDB Datareplicatorを再起動すると,整合性が保証されます。これらの手順については,マニュアル「HiRDBデータ連動機能 HiRDB Datareplicator Version 8」を参照してください。
  8. pddefを実行する場合,文字コードは定義を登録するHiRDBサーバと同じになるように設定し,設定した文字コードで入力してください。

(2) 注意事項

データベース定義ユティリティの結果は,ユティリティ実行時のリターンコード,又はディクショナリ表を検索することで確認できます。リターンコードの意味を次に示します。

リターンコード4が発生し,その後にリターンコード8が発生した場合,処理を中断し,最終リターンコード8で終了します。

(3) SQLエラー時に出力される情報

次のSQL文でエラーが発生した場合,GET DIAGNOSTICS文が実行され,エラー情報が出力されます。ただし,SQL文中に注釈がある場合,ERROR_POSITIONには注釈を除いた値が表示されます。

エラー情報の形式を次の図に示します。

図4-2 エラー情報の形式

[図データ]

(4) 注釈(コメント)の扱い

SQL文の最初に現れた「/*」以降を注釈とみなします。それ以降,指定したすべての文字(セミコロンを含む)を注釈として扱います。また,注釈の開始を示す「/*」以降,最初に現れた「*/」を注釈の終了とみなします。

例を次に示します。

 
(例1)
CREATE TABLE T1 (C1 INT) ; /* CU ADDRESS TABLE */   …注釈の開始・終了
 
(例2)
CREATE TABLE T1 /* CU ADDRESS TABLE */ (C1 INT) ;   …注釈の開始・終了
 
(例3)
CREATE TABLE T1 /* CU ADDRESS   …注釈の開始・継続
TABLE */ (C1 INT) ;   ………………注釈の終了
 
(例4)
CREATE TABLE T1 /* CU ADDRESS TABLE * (C1 INT) ;   …注釈の開始・継続
 
(例5)
CREATE TABLE T1 /* CU /* ADDRESS */ TABLE */ (C1 INT) ;
  …注釈の開始・終了
 

引用符(")やアポストロフィ(')で囲まれた「/* 〜 */」は注釈とみなされません。注釈の記述方法については,マニュアル「HiRDB Version 8 SQLリファレンス」のSQLの記述形式を参照してください。また,注釈の扱いは会話型SQL実行ユティリティ(HiRDB SQL Executer)とは異なるので注意してください。

(5) BOMを持つファイルの使用

pdntenvコマンドで文字コードとしてutf-8を選択した場合,pddefの入力ファイルには,BOMを持つファイルを使用できます。なお,pddefの入力ファイルとしてBOMを持つファイルを使用しても,BOMは読み飛ばされます。