如何查找在 SQL Server 表中插入或更新行的时间
Posted
技术标签:
【中文标题】如何查找在 SQL Server 表中插入或更新行的时间【英文标题】:How to find when a row is inserted or updated in SQL Server table 【发布时间】:2012-01-31 16:46:45 【问题描述】:我在 SQL Server 中有一个表,但是当值插入表中时没有显示列。而且我也不想创建一个。
有没有一种方法可以找到某人在 SQL Server 2008 表中插入行或更新时的时间和日期?
【问题讨论】:
不,没有办法实现这一点 - 如果您需要该日期/时间信息,您需要添加一个列来保存该信息,并在发生插入和/或更新时在触发器中更新它 【参考方案1】:如果您不想修改现有表,唯一的方法是创建另一个表来记录活动。然后您可以在源表上使用ON INSERT
/ ON UPDATE
触发器,并将插入和更新的时间和日期记录到日志表中。
【讨论】:
【参考方案2】:如果您不想更改现有架构,请创建审计表并在源表上创建触发器以更新审计表。
【讨论】:
【参考方案3】:您可以在 sql server 2005/2008 中使用 On Insert 和 On Update 触发器,并且您的必填字段在 inserted
和 updated
表中可用,但如果您以后需要使用此信息,则需要添加一个新表和记录您的信息!
我自己做这样的事情总是在我的表中添加 2 列
LastActivityBy 与用户表的关系
和
LastActivityOn 日期时间
所以您不需要使用任何其他表。
【讨论】:
以上是关于如何查找在 SQL Server 表中插入或更新行的时间的主要内容,如果未能解决你的问题,请参考以下文章
如何将 Excel 工作表中的行插入 SQL Server 2005 或 oracle
sql server 2008中“Merge”子句的性能如何?