数据库触发器或代码中的常用方法?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库触发器或代码中的常用方法?相关的知识,希望对你有一定的参考价值。
我有一个表,我想记录我的应用程序的某些部分的活动。当在其他表中插入/更新记录时,将在此表中插入记录(可能在将来更新)。
EG
- 如果在Orders表中插入了记录,则会在Log表中插入一个条目。
- 如果在Booking表中插入记录,则会在Log表中插入一个条目。
- 如果在Customers表中更新了记录,则如果日志表没有该客户的条目,则会在日志表中插入一个条目。
等等..
我应该在这些表上使用触发器来在Log表中添加记录,还是应该在我的代码中使用通用方法并在插入/更新活动发生时调用该方法?
我必须在我的应用程序的某些部分上执行此活动,因此可以有超过20个表格,我将在其中添加触发器或从我将调用方法的几个不同位置。
我正在使用SQL Server 2005和C#
什么是更好的,Trigger或A方法?
如果有人能够使用TOAD,SSMS,查询分析器等技术在没有您的应用程序的情况下更新数据库,那么触发器会更好
方法是比Trigger更好的选择。触发器通常 - 性能很重 - 在代码中不太明显,即隐藏起来 - 更难以调试和维护。 - 限制要传递给日志表的值
在优化代码,扩展逻辑和更易于维护方面,一种方法将为您提供许多优势
由于这似乎是一项重要的任务,我将在RDBMS中使用触发器来确保不仅您的应用程序导致创建日志。
这样的问题永远不会太晚, 通常,触发器减少数据库和代码的往返, 在你的情况下,要在C#中执行此操作,每个操作需要2次,一次用于操作(Insert),一次用于日志操作,当然,您需要对代码中的异常进行大量处理,以便您没有插入记录,您也可以记录不同的失败操作 作为触发器,您将数据一次发送到服务器,所有操作和处理都在那里完成,没有额外的连接 这是特别有用的,因为每个东西都是共享的,连接轮询是有限的。
以上是关于数据库触发器或代码中的常用方法?的主要内容,如果未能解决你的问题,请参考以下文章