データベース操作:SQLでメンバーを扱う
メンバーは便利なのですが、SQLにはメンバーの概念がありません。
OVRDBFを使用すればメンバーも扱えるようになります。
SQLからQCMDEXCを使用してメンバーを扱う方法を紹介します。
(V5R4からの機能です)
WDSCOBJ/EMPLOYEEにメンバー(TEST)を追加しました。
1レコードだけあります。
単純に発行するだけです。以下は実際に発行したコマンドです。
※第2引数はコマンドの文字数です。
コマンドは正常に発行されたようです。
SQLの結果です。メンバーが正しく使用されました。
もちろんDLTOVRも使用できます。
元に戻りました。
OVRSCOPEパラメータがミソです。パラメータを使用しないとどうなるのでしょうか。
OVRDBFが効かず、エラーになりました。
以上で終了です。
(記事を書いた日:2014/06/19)
OVRDBFを使用すればメンバーも扱えるようになります。
SQLからQCMDEXCを使用してメンバーを扱う方法を紹介します。
(V5R4からの機能です)
WDSCOBJ/EMPLOYEEにメンバー(TEST)を追加しました。
1レコードだけあります。
単純に発行するだけです。以下は実際に発行したコマンドです。
※第2引数はコマンドの文字数です。
CALL QCMDEXC('OVRDBF FILE(EMPLOYEE) TOFILE(WDSCOBJ/EMPLOYEE)
MBR(TEST) OVRSCOPE(*JOB)',71);
SELECT * FROM EMPLOYEE;
MBR(TEST) OVRSCOPE(*JOB)',71);
SELECT * FROM EMPLOYEE;
コマンドは正常に発行されたようです。
SQLの結果です。メンバーが正しく使用されました。
もちろんDLTOVRも使用できます。
CALL QCMDEXC('DLTOVR FILE(*ALL) LVL(*JOB)',27)
SELECT * FROM WDSCOBJ.EMPLOYEE;
SELECT * FROM WDSCOBJ.EMPLOYEE;
元に戻りました。
OVRSCOPEパラメータがミソです。パラメータを使用しないとどうなるのでしょうか。
CALL QCMDEXC('OVRDBF FILE(EMPLOYEE) TOFILE(WDSCOBJ/EMPLOYEE)
MBR(TEST)',56)
SELECT * FROM EMPLOYEE;
MBR(TEST)',56)
SELECT * FROM EMPLOYEE;
OVRDBFが効かず、エラーになりました。
以上で終了です。
(記事を書いた日:2014/06/19)