Bri*_*ter 5 sql sql-server sql-server-2005-express
我想在插入或更新记录时自动填充"ModifyDate"列.
我应该使用触发器还是可以使用计算列?
(使用SSMS2005和SQL Server 2005 Express)
INSERTed部分很简单 - 只需在该列上定义默认值,并在插入新行时,不要为该列指定值.
UPDATE部分比较棘手 - 您必须编写触发ON UPDATE的触发器,然后更新该列.我不认为在SQL Server中有任何其他方法可以做到这一点.
问题是:你真的需要实际的日历日期吗?如果没有,如果您只想要一个关于行是否已更改的"标记",请查看ROWVERSION列类型(以前称为TIMESTAMP).
我真的没有看到你如何使用计算列 - 你必须在某个地方存储该日期,并使其保持最新状态INSERT和每个后续UPDATE - 只有触发器才能设法执行此操作.