为插入/修改的行获取DATETIME

时间:2010-07-28 09:46:51

标签: sql sql-server sql-server-2005

我正在使用SQL Server 2005,我需要获取特定表中所有行的创建日期时间,遗憾的是该表没有任何“rowverion”或datetime列 (我知道这是一个主要的设计缺陷)。

所以,我想知道SQL服务器是否维护每行插入的日期时间。

评论建议赞赏

此致 迪帕克

2 个答案:

答案 0 :(得分:2)

不,SQL Server在创建行时不会自动为行添加时间戳。根据您的建议,将来您可能需要创建一个新的date_created列并将其默认设置为GETDATE()

ALTER TABLE       your_table  
  ADD CONSTRAINT  dc_your_table_date_created
  DEFAULT         GETDATE()
  FOR             date_created;

如果您愿意,也可以使用触发器作为@Vash suggested in the other answer

答案 1 :(得分:0)

如果这是一个业务,那么您应该将列添加到表并创建一个触发器AFTER INSERT或UPDATE,将sysdate设置为这些行。或者您可以使用rowversion