データベース操作:SQLでメンバーを扱う

メンバーは便利なのですが、SQLにはメンバーの概念がありません。

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;


コマンドは正常に発行されたようです。


SQLの結果です。メンバーが正しく使用されました。


もちろんDLTOVRも使用できます。
CALL QCMDEXC('DLTOVR FILE(*ALL) LVL(*JOB)',27)
SELECT * FROM WDSCOBJ.EMPLOYEE;


元に戻りました。


OVRSCOPEパラメータがミソです。パラメータを使用しないとどうなるのでしょうか。
CALL QCMDEXC('OVRDBF FILE(EMPLOYEE) TOFILE(WDSCOBJ/EMPLOYEE)
MBR(TEST)',56)

SELECT * FROM EMPLOYEE;


OVRDBFが効かず、エラーになりました。


以上で終了です。

(記事を書いた日:2014/06/19)