Hitachi

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


14.3.7 SD FMBのSDBデータベースのレコードを削除する

SD FMBのSDBデータベースのレコードを削除します。

SD FMBのSDBデータベースの階層構造,および格納されているレコード実現値については,「14.3.5 SD FMBのSDBデータベースのレコードを検索する」と同じです。

手順

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

     pdsdbexe -u '"User01"/"Pswd01"'  -d SD

    SD FMBのSDBデータベースにアクセスする場合,-dオプションにSDを指定します。

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

     START "FMB1";

    STARTコマンドの実行結果:

     DIRECTORY CHECK DATE INFORMATION
       PDSDBDEF EXEC DATE              : 2019-04-16 16:24:26.64
       SDB DIRECTORY UPDATE DATE       : 2019-04-16 16:48:35.13
     ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
     HiRDB SERVER VERSION INFORMATION
       SERVER VERSION                  : 10-02
     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
     KFPB64050-I DINF(GET SDB SUMMARY) command processing completed
     KFPB64050-I DINF(GET SDB DETAIL) command processing completed
     KFPB64050-I START command processing completed
  3. FETCHコマンドを実行して,ルートレコードの検索を行う

     FETCH FIRST "FMB1_RECA";

    FETCHコマンドの実行結果:

     FETCH INFORMATION
       FETCH DATA
           1 "DBKEY_L1"                       'AA00'
           2 "RECA_UD1"                       123.
           3 "RECA_UD2"                       -9.8
       ROWID                           : X'1C0000001900000000000100'
     KFPB64050-I FETCH command processing completed
  4. FETCHコマンドを実行して,子レコードを検索する

     FETCH FIRST "FMB1_RECB" WITHIN OWNER;

    FETCHコマンドの実行結果:

     FETCH INFORMATION
       FETCH DATA
           1 "DBKEY"                          1
           2 "RECB_UD1"                       'B1'
           3 "RECB_UD2"                       X'3131'
       FETCH SERIAL NUM                : 1
       ROWID                           : X'1C0000001900000000000200'
       RECORD POINTER STATUS           : FIRST
     KFPB64050-I FETCH command processing completed
  5. FETCHコマンドを実行して,削除対象レコードへの位置づけを行う

     FETCH FOR UPDATE FIRST "FMB1_RECC" WITHIN OWNER;

    FETCHコマンドの実行結果:

     FETCH INFORMATION
       FETCH DATA
           1 "DBKEY"                          1
           2 "RECC_UD1"                       'E111'
       FETCH SERIAL NUM                : 1
       ROWID                           : X'1C0000001900000000000300'
       RECORD POINTER STATUS           : FIRST
     KFPB64050-I FETCH command processing completed
  6. ERASEコマンドを実行して,レコードを削除する

     ERASE "FMB1_RECC" ALL;
  7. 削除対象のレコードが正しいかを確認する

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

    ERASEコマンドの実行結果:

    KFPB64050-I ERASE command processing completed
  8. FETCHコマンドを実行して,レコードが削除されたことを確認する

    FETCH FIRST "FMB1_RECC" WITHIN OWNER;

    FETCHコマンドの実行結果:

     FETCH INFORMATION
       FETCH DATA
           1 "DBKEY"                          2
           2 "RECC_UD1"                       'E222'
       FETCH SERIAL NUM                : 2
       ROWID                           : X'1C0000001900000000000400'
       RECORD POINTER STATUS           : FIRST
     KFPB64050-I FETCH command processing completed
  9. COMMITコマンドを実行して,レコードの削除を確定する

     COMMIT;

    COMMITコマンドの実行結果:

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

     #EXIT;

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

    KFPB64050-I DISCONNECT command processing completed
    KFPB64050-I #EXIT command processing completed
     
    KFPB64000-I The pdsdbexe terminated, return code = 0
参考

コマンド入力画面に表示されるプロンプトについては,「表14-3 入力画面で表示されるプロンプト」を参照してください。