在Sql Server 2008中,我有一个由数据提供程序应用程序填充的表。
我想在表格中保留一个“ INSERT_DATE ”列,以便我知道插入记录的日期。
为了做到这一点,我在 INSERT_DATE 列上定义了一个默认约束,默认情况下放置GETDATE()。
但是,我不希望数据提供程序应用程序覆盖此列值。
那么,如何禁用插入 INSERT_DATE 列?
(我不能使用计算列。因为Clustered Index使用INSERT_DATE字段)
答案 0 :(得分:0)
您可以使用After Insert trigger。这样,无论插入到插入行的列中,您都可以更新为当前日期/时间。
答案 1 :(得分:0)
随后更新行时,您可能不希望列更新。
最好的办法是使用trigger
。如果应用程序提供了值,您可能无法抛出错误,但至少您可以通过跳过在触发器中指定的插入内容中的列来设置它。