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 という調子です。 ☆ これの方が面倒くさくなくて便利に思うのですが。。 ただし、また容量無駄遣いしてしまいますけどね!! |