次の列を持つ2つのテーブルがあります。
SUMMARY(sum_id, sum_number) and DETAILS(det_id, det_number, sum_id)
IDのリストにdet_idが含まれるテーブルから行を削除したいのですDETAILSが、これは次の方法で実行できます。
DELETE FROM details WHERE det_id in (1,2,3...)
しかし
同時に、次の
SUMMARY場合はテーブルを更新する必要がありますsummary.sum_id=details.sum_idUPDATE summary SET sum_number-=somefunction(details.det_number) WHERE summary.sum_id=details.sum_idさらに、後で
SUMMARYテーブルから行を削除するのは完全に素晴らしいことです。sum_number<=0
これらすべてをインテリジェントな方法で行うにはどうすればよいですか?
最初から両方のIDを知っている場合はどうなりますか:(details.det_id削除する)ANDsummary.sum_idに対応するdetails.det_id