Hitachi

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


14.3.1 4V FMBのSDBデータベースのレコードを更新する

4V FMBのSDBデータベースのレコードを更新します。

■4V FMBのSDBデータベースの階層構造

[図データ]

■格納されているレコード実現値

[図データ]

手順

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

     pdsdbexe

    -uオプションに認可識別子を指定した場合は,手順の2.をスキップして,手順の3.に進んでください。-uオプションに認可識別子およびパスワードを指定した場合は,手順の2.〜3.をスキップして,手順の4.に進んでください。

  2. 認可識別子の入力要求に応答する

     pdsdbexe **** SDB Database Executor 09-60    ****  2015-12-14 16:49:44
     
     user-id:"User01"    ←認可識別子を指定します。

    HiRDBに接続する認可識別子を指定して,Enterキーを押してください。

    • 認可識別子に英小文字がある場合は,引用符( " )で囲んでください。

  3. パスワードの入力要求に応答する

     pdsdbexe **** SDB Database Executor 09-60    ****  2015-12-14 16:49:44
     
     user-id:"User01"
     "User01"
     password:      ←パスワードを指定します。

    認可識別子のパスワードを指定して,Enterキーを押してください。

    • パスワードに英小文字がある場合は,引用符( " )で囲んでください。

    • パスワードに入力した文字は表示されません。

  4. STARTコマンドを実行して個別開始する

     START "FMB1"
     NEXT ? +----2----+----3----+----4----+----5----+----6----+----7----+----8
     
          ACSMODE UPDATE
     NEXT ? +----2----+----3----+----4----+----5----+----6----+----7----+----8
          ENQOPT EXCLUSIVE;

    STARTコマンドの実行結果:

     DIRECTORY CHECK DATE INFORMATION
       PDSDBDEF EXEC DATE              : 2015-12-14 16:20:46.67
       SDB DIRECTORY UPDATE DATE       : 2015-12-14 16:20:49.16
     ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
     HiRDB SERVER VERSION INFORMATION
       SERVER VERSION                  : 09-60
     KFPB64050-I DINF(GET DATE) command processing completed
     ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
     START INFORMATION
       SDB DATABASE NAME "FMB1"
       HANDLE NUMBER                   : 1
       ACSMODE                         : UPDATE
       ENQOPT                          : EXCLUSIVE
       AUTODEQ                         : NO
       RDAREAVAL                       : NO
     KFPB64050-I DINF(GET SDB SUMMARY) command processing completed
     KFPB64050-I DINF(GET SDB DETAIL) command processing completed
     KFPB64050-I START command processing completed
  5. FETCHコマンドを実行して,ルートレコードの検索を行う

     FETCH "FMB1_RECA" FIRST;

    FETCHコマンドの実行結果:

     FETCH INFORMATION
       FETCH DATA
           1 "DBKEY_L1"                       'AA00'
           2 "RECA_UD1"                       123.
           3 "RECA_UD2"                       -9.8
       ROWID                           : X'070000001900000000000100'
       PAGE NUM                        : 100
     KFPB64050-I FETCH command processing completed
  6. FETCHコマンドを実行して,更新対象レコードへの位置づけを行う

     FETCH "FMB1_RECB" LAST WHERE (DBKEY=2);

    FETCHコマンドの実行結果:

     FETCH INFORMATION
       FETCH DATA
           1 "DBKEY"                         2
           2 "RECB_UK"                       'B2'
           3 "RECB_UD"                       X'3232'
       FETCH SERIAL NUM                : 2
       ROWID                           : X'070000001900000000000800'
       USER POINTER SERIAL NUM         : 0
       SECOND INDEX KIND               : NOUSE
       RECORD POINTER STATUS           : LAST
     KFPB64050-I FETCH command processing completed
  7. MODIFYコマンドを実行して,レコードを更新する

     MODIFY "FMB1_RECB" SET "RECB_UD" = X'3333';
  8. 更新対象のレコードが正しいかを確認する

     MODIFY DATA
         1 "RECB_UD"
           <BEFORE> X'3232'
           <AFTER>  X'3333'
     AGREE TO MODIFY ? [ENTER YES OR NO]
     YES   ←上記の情報を確認後,YESを指定します。

    MODIFYコマンドの実行結果:

     MODIFY INFORMATION
       ROWID                           : X'070000001900000000000800'
     KFPB64050-I MODIFY command processing completed
  9. FETCHコマンドを実行して,レコードが更新されたことを確認する

     FETCH "FMB1_RECB" LAST WHERE (DBKEY=2);

    FETCHコマンドの実行結果:

     FETCH INFORMATION
       FETCH DATA
           1 "DBKEY"                           2
           2 "RECB_UK"                         'B2'
           3 "RECB_UD"                         X'3333'
       FETCH SERIAL NUM                : 2
       ROWID                           : X'070000001900000000000800'
       SECOND INDEX KIND               : NOUSE
       RECORD POINTER STATUS           : LAST
     KFPB64050-I FETCH command processing completed
  10. COMMITコマンドを実行して,レコードの更新を確定する

     COMMIT;

    COMMITコマンドの実行結果:

     KFPB64050-I COMMIT command processing completed
  11. #EXITコマンドを実行して,pdsdbexeコマンドを終了する

     #EXIT;

    #EXITコマンドの実行結果:

     KFPB64050-I DISCONNECT command processing completed
     KFPB64050-I #EXIT command processing completed
     
     KFPB64000-I The pdsdbexe terminated, return code = 0
表示されるプロンプトについて

pdsdbexeコマンドを実行すると,次の表に示すどれかのプロンプトが表示されます。

表14‒3 入力画面で表示されるプロンプト

項番

プロンプトの表示形式

意味

1

user-id:

HiRDBに接続する認可識別子の入力待ち状態です。

pdsdbexeコマンドの実行後,またはSQLコマンドのCONNECTコマンドの実行後に表示されます。ただし,pdsdbexeコマンドまたはCONNECTコマンドの実行時,認可識別子を指定した場合は,このプロンプトは表示されません。

2

password:

パスワードの入力待ち状態です。

pdsdbexeコマンドの実行後,またはSQLコマンドのCONNECTコマンドの実行後に表示されます。ただし,pdsdbexeコマンドまたはCONNECTコマンドの実行時,パスワードを指定した場合は,このプロンプトは表示されません。

パスワードを入力しても,入力した文字は表示されません。

3

COMMAND ?

通常の入力待ち状態です。pdsdbexe操作コマンドを指定できます。

4

NEXT ?

継続行の入力待ち状態です。

pdsdbexe操作コマンドの終わりを示すセミコロン( ; )が指定されない状態でEnterキーを押すと,その行は継続行(pdsdbexe操作コマンドが途中である)と見なされます。このプロンプトが表示された場合,pdsdbexe操作コマンドの続きを入力してください。