我有一个数据库模型,其中每个表都有一个名为_CDateTime的datetime
字段。
当行INSERT
时,SQL Server会将默认值GETDATE()
写入此字段。
另一方面,如果在一行上发出UPDATE
,则SQL Server不会自动更新_CDateTime字段。
我知道我可以使用timestamp
日期类型,但这并不传达任何时间信息(与其名称相反)。
另一个解决方案是为每个表编写一个触发器,但这很有效。
所以问题是:是否存在任何全局方式,就像在其中一个数据库表中更新行时触发的全局触发器一样,并自动将_CDateTime字段设置为当前日期和时间?
PS:这个问题的答案表明没有这样的事情:Multi table Triggers SQL Server noob
答案 0 :(得分:1)
您需要UPDATE触发器将getdate()应用于_CDateTime字段,或者您必须在每次更新时提交_CDateTime = getDate()。没有自动的方法