14.3.7 SD FMBのSDBデータベースのレコードを削除する
SD FMBのSDBデータベースのレコードを削除します。
-
SDBデータベース名:FMB1
-
削除対象のレコード名:FMB1_RECC
SD FMBのSDBデータベースの階層構造,および格納されているレコード実現値については,「14.3.5 SD FMBのSDBデータベースのレコードを検索する」と同じです。
手順
-
pdsdbexeコマンドを実行する
pdsdbexe -u '"User01"/"Pswd01"' -d SD
SD FMBのSDBデータベースにアクセスする場合,-dオプションにSDを指定します。
-
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
-
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
-
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
-
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
-
ERASEコマンドを実行して,レコードを削除する
ERASE "FMB1_RECC" ALL;
-
削除対象のレコードが正しいかを確認する
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
-
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
-
COMMITコマンドを実行して,レコードの削除を確定する
COMMIT;
COMMITコマンドの実行結果:
KFPB64050-I COMMIT command processing completed
-
#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 入力画面で表示されるプロンプト」を参照してください。