ValidFrom可以在UDF中使用,但ValidTo - 不是吗? (时态表中的计算列)

时间:2018-03-15 02:27:53

标签: sql-server user-defined-functions sql-server-2016 calculated-columns temporal-tables

请告知 - 我在这里缺少什么? 时态表ValidTo字段不能用作计算列中UDF的参数,而ValidFrom确实可以正常工作。

SQL Server 2016。

有一个例子。 在这种情况下记录“Masha”必须将WhenDeleted标志显示为日期,而不是null:

ES2015.Core

Results

1 个答案:

答案 0 :(得分:1)

我找到了发生原因的原因:

  • 临时表存储操作发生之前的数据状态。
  • 临时表历史表即使主表也没有计算列。
  • 时间表将计算列存储为值(计算值)
  • 当记录将被删除时,此时的WhenDeleted标志仍为NULL,并且此NULL将在操作之前记录到History Table中。
  • 然后删除主表中的记录,但是,该WhenDeleted计算实际上不会发生,并且该计算结果也不会存储在任何地方