Hitachi

ノンストップデータベース HiRDB Version 10 構造型データベース機能


14.5.6 STORE(レコードの格納)

〈この項の構成〉

(1) 機能

1つのレコード実現値を格納します。

(2) 指定形式

指定形式については,「17.4.5 STORE文」の「(2) 形式」の「DMLコマンドで記述するSTORE文」を参照してください。

注意事項
  • 最後にセミコロン( ; )の指定が必要です。

  • オペランドの指定順序は変更できません。

(3) オペランドの説明

オペランドの説明については,「17.4.5 STORE文」の「(3) オペランドの説明」を参照してください。

(4) 使用例

STOREコマンドを実行してレコード実現値を格納する手順を次に示します。

手順

  1. STOREコマンドを実行する

     STORE "FMB101" SET "USERDB0"='DATA';
  2. 格納対象のレコードが正しいかを確認する

     STORE RECORD INFORMATION
       RECORD KIND                    : CHILD RECORD
       DBKEY                          : X'4141414101020304'
     AGREE TO STORE ? [ENTER YES OR NO]
     YES     ←上記の情報を確認後,YESを指定します。

    STOREコマンドを実行してよいかどうかの確認メッセージが表示されます。

    格納対象のレコード種別(RECORD KIND),および格納対象レコードのデータベースキー(DBKEY)を確認してから,YESを指定してください。

    参考

    格納対象のレコード種別などに誤りがある場合は,NOを指定してSTOREコマンドの実行を中止してください。

  3. STOREコマンドの実行結果を確認する

     STORE INFORMATION
       STORE SERIAL NUM                : 1
       ROWID                           : X'070000001900000000000200'
       RECORD POINTER STATUS           : FIRST_LAST
     KFPB64050-I STORE command processing completed

    STOREコマンドの実行結果が表示されます。

(5) STOREコマンドの実行時に表示される情報

STOREコマンドを実行した場合に表示される情報について説明します。

(a) STOREコマンドの実行確認メッセージ

STOREコマンドを実行した際,次に示す確認メッセージが表示されます。

 STORE RECORD INFORMATION
   RECORD KIND              : CHILD RECORD          ...1
   DBKEY                    : X'4141414101020304'   ...2
 AGREE TO STORE ? [ENTER YES OR NO]                 ...3
[説明]
  1. 格納対象のレコード種別が表示されます。

    ROOT RECORD:格納対象レコードがルートレコードであることを意味しています。

    CHILD RECORD:格納対象レコードが子レコードであることを意味しています。

  2. 格納対象レコードの親レコードのデータベースキーが表示されます。

    格納対象レコードが子レコードの場合に,この項目が表示されます。

    親レコードがルートレコードの場合,親レコードのデータベースキーが表示されます。親レコードがルートレコードではない場合,親レコードの一連番号が表示されます。

  3. STOREコマンドを実行するかどうかの確認メッセージが表示されます。

    レコード種別および親レコードのデータベースキーを確認(1.および2.の情報を確認)し,問題がない場合はYESまたはyesを指定してください。

    STOREコマンドの実行を中止する場合は,NOまたはnoを指定してください。

    参考

    YESまたはyes以外を指定した場合,NOが指定されたと見なされます。

(b) STOREコマンドの実行結果

STOREコマンドの実行が終了した際,次に示す実行結果が表示されます。

 STORE INFORMATION
   STORE SERIAL NUM            : 20                           ...1
   ROWID                       : X'880000001900000000000100'  ...2
   RECORD POINTER STATUS       : LAST                         ...3
[説明]
  1. 格納したレコードの一連番号が表示されます。

  2. 格納したレコードのROWIDが表示されます。

  3. レコード格納時のレコードポインタ情報が表示されます。

    FIRST:格納したレコードは,FIRSTポインタで示されています。

    LAST:格納したレコードは,LASTポインタで示されています。

    FIRST LAST:格納したレコードは,FIRSTポインタおよびLASTポインタで示されています。

    NONE:格納したレコードは,FIRSTポインタおよびLASTポインタのどちらでも示されていません。

(6) 留意事項

  1. SDB用UAP環境定義のsubschemaオペランドの-aオプションにupdateを指定してください。SDB用UAP環境定義については,「9.3 SDB用UAP環境定義【SD FMB】」を参照してください。

  2. STOREコマンドは,個別開始している状態で実行してください。

  3. 子レコードにレコードを格納する場合,親レコードまでの位置づけをしておいてください。位置づけをしていない場合は,エラーになります。

  4. 構成要素のデータ型とデータ属性が一致している格納値を指定する必要があります。格納値のパディング(データを追加して長さを合わせる処理)や,切り捨てなどのデータの加工は行われません。また,データ型によっては,次の条件を満たす必要があります。

    • データ型がCHARACTERまたはXCHARACTERの場合

      データ長が一致している必要があります。

    • データ型がPACKED DECIMAL FIXED,INTEGERまたはSMALLINTの場合

      格納値が,構成要素のデータ型で表現できる範囲の値である必要があります。また,格納値を16進文字列定数で指定した場合,格納値の長さは,構成要素の長さと同じである必要があります。

      なお,データ型がPACKED DECIMAL FIXEDの場合,格納値に指定した文字数で整数部桁数および小数部桁数が決まります。

      (例)

      01234.000 → 整数部桁数5,小数部桁数3

      .12345 → 整数部桁数0,小数部桁数5

      上記の例のようにゼロサプレスされません。格納値の整数部桁数および小数部桁数が,構成要素の整数部桁数および小数部桁数以下になるようにしてください。

  5. STOREコマンドが正常終了したあとに#EXITコマンドを実行する場合は,次のようにpdsdbexe操作コマンドを実行してください。

    • レコードの格納を実行したトランザクションを正常終了させたい場合は,COMMITコマンドを実行してください。

    • レコードの格納を実行したトランザクションを取り消したい場合は,ROLLBACKコマンドを実行してください。

そのほかの留意事項については,「17.4.5 STORE文」の「(4) 共通規則」を参照してください。