RDBのレコード削除のバッチ処理の方法

4:Re:RDBのレコード削除のバッチ処理の方法
EXCHANGE 08/26 23:23
☆ 江須扇さん、こんばんわ。

 すみません、書き方が舌足らずで。。



> ☆ もし、「1月31日」でしたら単に−100とするのはマズイかも。。



 の言わんとするところですが、直前の文章から(なんと指示語もなしに)続いておりまして、



>「2月28日の1ヶ月前は?」ときたら 



 の答えが−−>(A)「1月28日」でなく、(B)「1月31日」でしたら と言う意味でした。



 (B)の解釈の場合、「2月28日の1ヶ月前」というのは「1月31日」になりますので、 040228 − 100 = 040128 としてしまうと、(A)タイプの解釈になってマズイ、 という意味です。



☆ ただし、いずれにせよ江須扇さんの目的は約1ヶ月前までのデータを削除することにあるとのことですので、そこまで心配することはなかったようです。



☆ ところでこのような場合(というよりこのようなケースを想定して)私が良くやる方法は、



(1)所詮、データベースは項目単位でしか取り扱い出来ないので、

(2)初めからデータ上に「年月日」以外にもう一つ「年月度」という項目を取っておく。



 というふうにしています。

例えば、年月日「20040826」でしたら年月度「200408」となりますし、 年月日「040826」でしたら年月度「0408」となります。

 そして、

(3)データ削除のPGでは初期条件の入力でユーザに「削除年月度を指定して下さい」とやります。

 あとは、 COBOLにて

 

 SELECT RDBFILE

   WHERE RDBーGETUDO <= IN−GETUDO  

 という調子です。



☆ これの方が面倒くさくなくて便利に思うのですが。。

  ただし、また容量無駄遣いしてしまいますけどね!!



 



1-

BluesBB ©Sting_Band