データベースへのアクセスはあまねくストアドプロシージャにしましょう。
たとえば以下のような対応
物理削除を論理削除に変更する。
delete tab where id=1
を
update tab set delflag=1 where id=1
にして
create view vtaba as select a from taba where delflag=0
とビューを作成して
update taba set a=@a where id=1
を
update vtaba set a=@a where id=1
にして、
select a from taba
を
select a from vtaba
として完了です。
ストアドであれば、この手の変更はストアド内で隠蔽できます。