次の列を持つ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_id
UPDATE 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