数据库触发器还是代码中的常用方法?

Kas*_*hif 4 c# sql methods triggers sql-server-2005

我有一个表,我想在其中记录应用程序某些部分的活动。当在其他表中插入/更新记录时,将在该表中插入一条记录(将来可能会更新)。

例如

  • 如果在 Orders 表中插入记录,则将在 Log 表中插入一个条目。
  • 如果记录插入到预订表中,则条目将插入到日志表中。
  • 如果客户表中的记录已更新,并且日志表中没有该客户的条目,则条目将插入到日志表中。

ETC..

我应该在这些表上使用触发器在日志表中添加记录,还是应该在代码中使用通用方法并在发生插入/更新活动时调用该方法?

我必须在应用程序的某些部分执行此活动,因此可能有超过 20 个表,我将在其中添加触发器,或者从几个不同的位置调用方法。

我正在使用 SQL Server 2005 和 C#

触发器和方法哪个更好?

Dhe*_*eer 5

方法是比触发器更好的选择。触发器通常是 - 性能较重 - 在代码中不太明显,即隐藏起来 - 更难以调试和维护。- 限制传递到日志表的值

方法在优化代码、扩展逻辑和更易于维护方面会给您带来很多优势