我如何在oracle apex中执行“软删除”

时间:2019-02-26 11:52:40

标签: oracle oracle-apex

我该如何进行“软删除”-并添加一个已删除的隐藏列。而不是实际删除记录,而是将它们标记为已删除。这样一来,您可以看到Deleted = 1来查看已删除的行。否则,使用where delete = 0

2 个答案:

答案 0 :(得分:0)

您要更新而不是删除该行中的某些列并设置(例如)cb_deleted = 1。为此,您必须编写自己的处理过程(因为Apex确实会删除该行)。

出于查看目的,添加一个项(单选按钮就可以了)以显示已删除(该值为1)或“有效”(值= 0)行。

报表的查询如下

select ...
from that_table
where cb_deleted = :P1_RB_DELETED

答案 1 :(得分:0)

您可以使用触发代替和视图。您可以让Apex在视图而不是表上执行其操作(插入,更新,删除)。触发方式将以您希望的方式将更改传输到真实表。我将这种机制与顶点结合使用来实现历史机制。只需在网络上搜索代替触发的示例...