有没有一种全局方法可以在执行UPDATE时将日期时间设置为GETDATE()?

时间:2012-10-18 10:04:26

标签: sql-server

我有一个数据库模型,其中每个表都有一个名为_CDateTime的datetime字段。

当行INSERT时,SQL Server会将默认值GETDATE()写入此字段。

另一方面,如果在一行上发出UPDATE,则SQL Server不会自动更新_CDateTime字段。

我知道我可以使用timestamp日期类型,但这并不传达任何时间信息(与其名称相反)。

另一个解决方案是为每个表编写一个触发器,但这很有效。

所以问题是:是否存在任何全局方式,就像在其中一个数据库表中更新行时触发的全局触发器一样,并自动将_CDateTime字段设置为当前日期和时间?

PS:这个问题的答案表明没有这样的事情:Multi table Triggers SQL Server noob

1 个答案:

答案 0 :(得分:1)

您需要UPDATE触发器将getdate()应用于_CDateTime字段,或者您必须在每次更新时提交_CDateTime = getDate()。没有自动的方法