14.3.1 4V FMBのSDBデータベースのレコードを更新する
4V FMBのSDBデータベースのレコードを更新します。
-
SDBデータベース名:FMB1
-
更新対象のレコード名:FMB1_RECB
■4V FMBのSDBデータベースの階層構造
■格納されているレコード実現値
手順
-
pdsdbexeコマンドを実行する
pdsdbexe
-uオプションに認可識別子を指定した場合は,手順の2.をスキップして,手順の3.に進んでください。-uオプションに認可識別子およびパスワードを指定した場合は,手順の2.〜3.をスキップして,手順の4.に進んでください。
-
認可識別子の入力要求に応答する
pdsdbexe **** SDB Database Executor 09-60 **** 2015-12-14 16:49:44 user-id:"User01" ←認可識別子を指定します。
HiRDBに接続する認可識別子を指定して,Enterキーを押してください。
-
認可識別子に英小文字がある場合は,引用符( " )で囲んでください。
-
-
パスワードの入力要求に応答する
pdsdbexe **** SDB Database Executor 09-60 **** 2015-12-14 16:49:44 user-id:"User01" "User01" password: ←パスワードを指定します。
認可識別子のパスワードを指定して,Enterキーを押してください。
-
パスワードに英小文字がある場合は,引用符( " )で囲んでください。
-
パスワードに入力した文字は表示されません。
-
-
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
-
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
-
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
-
MODIFYコマンドを実行して,レコードを更新する
MODIFY "FMB1_RECB" SET "RECB_UD" = X'3333';
-
更新対象のレコードが正しいかを確認する
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
-
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
-
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
- 表示されるプロンプトについて
-
pdsdbexeコマンドを実行すると,次の表に示すどれかのプロンプトが表示されます。
表14‒2 入力画面で表示されるプロンプト 項番
プロンプトの表示形式
意味
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操作コマンドの続きを入力してください。