已删除记录的副本 - 触发或其他方式



从 PL/SQL 过程中删除记录时,我需要在备份表中创建已删除记录的副本。哪个是更好的方法 - 触发器或存储过程或插入语句或有任何其他方法。

一些想法:

"触发器或存储过程或插入语句或有任何其他方法。使用触发器,您将在另一个表中执行插入操作。因此,第三个不是一个新选择。

如果你可以管理表上的所有 dml,那么是的,你可以通过存储过程来完成,但要确保它是一个独特的点,代码应该在一个地方,而不是分散在多个过程中。从这个角度来看,触发器更好,因为你不能跳过它。

另一边。如果您有批量删除,最好有一个存储过程,因为触发器会减慢 dml。使用存储的过程,您可以对散装进行单独的处理。

这取决于您要克服的问题。

另一种方法是根本不删除记录,而是将其标记为已删除。当然,应用程序的其余部分不需要选择标记为已删除的记录。 在现有应用程序中可能不是一个可行的选项。

相关内容

最新更新