问题标签 [temporal-tables]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
7542 浏览

sql-server - 如何在列上添加 HIDDEN 属性?

创建时态表时,我们需要定义开始和结束日期时间列,这些列在或hidden中不可见。我想再添加一列,其中将包含有关已提交更改的用户的信息。SELECT *INSERT without columns

问题是,我收到以下错误:

这是代码:

为什么我不允许在此类列上添加此属性?

0 投票
1 回答
77 浏览

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

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

2016 年的 SQL 服务器。

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

结果

0 投票
1 回答
1339 浏览

sql-server - 回填临时表

去年,我使用自己的手卷“临时”表。所以在 2017 年 1 月,我进行了原始数据导入并执行了插入、更新、删除。2017 年 2 月,我使用 2 月的原始数据文件做了同样的事情。我一直这样做,直到 2017 年 12 月(包括 2017 年 12 月)。

我拥有用于​​导入的所有原始月末数据文件,现在我想废弃那个垃圾手卷“临时”表解决方案,并使用微软提供的漂亮的临时表。我的问题是我需要将计算机系统日期设置回 2017 年 1 月,执行 2017 年 1 月的 ETL,将系统日期更改为 2017 年 2 月,执行 2017 年 2 月的 ETL,将系统日期更改为 2017 年 3 月,执行 2017 年 3 月的 ETL等等等等。

更改系统日期的任何替代方法?

0 投票
0 回答
387 浏览

c# - 隐藏的 SQL 列和实体框架

我们有一些天蓝色的 sql 表,我们在其中创建了“临时表”(历史)。为了创建这些表,我们在主表中添加了 2 个“HIDDEN”列(ValidTo 和 ValidFrom)。

当我们更新我们的 EF 模型(db first)时,问题就出现了,隐藏列进入自动生成的模型并且我们现有的代码中断。

有什么方法可以设置一些东西来忽略这些列自动生成到我们的模型中?

0 投票
1 回答
240 浏览

sql-server - 使用只有一个定期更新的列的宽临时表是否有效?

我一直无法确定临时表历史的存储方式。如果您有一个包含几列 nvarchar 数据和一个定期更新的库存数量列的表,SQL Server 是否为每次对库存数量所做的更改存储静态列的副本,或者是否有一种面向对象的方法来存储数据? 我想在历史记录中包含所有列,因为 nvarchar 列可能会有很少的更改,但如果数百万个数量更新复制其他列,请注意表历史记录大小。

0 投票
1 回答
107 浏览

postgresql - 出现错误:类型“句点”不存在,即使我添加了 btree_gist 和 temporal_tables 扩展

即使我添加了扩展名,我也会收到错误btree_gist消息temporal_tables

(3 行)

版本详情

0 投票
1 回答
1034 浏览

sql-server - 是否可以在事实维度 DWH 设计中使用系统版本化的时态表?

假设我想在 DWH 系统中实现 SCD type2 历史维度表(或者我应该说具有 SCD type2 属性的表),目前我一直将其实现为带有natural key+ primary surrogate key+ datefrom+ dateto+iscurrent附加列的“常用表”。

在哪里

  • primary surrogate key为了在所有事实表中将其用作外键和
  • datefromdateto需要++列iscurrent来跟踪历史记录。

现在我想在事实维DWH设计中使用系统版本的时态表,但是MSDN说:

时态表必须定义主键才能关联当前表和历史表之间的记录,而历史表不能定义主键

所以看起来我应该使用一个primary surrogate key“动态”生成的视图或另一个 ETL 过程,但我不喜欢这两个想法......

也许还有另一种方式?

0 投票
1 回答
689 浏览

c# - 将实体框架 T4 模板与系统版本化的临时表一起使用

为了解决我的错误(如下所示),我想知道如何编辑我的 Entity Framework T4 模板,以便将“<strong>HasDatabaseGeneratedOption(DatabaseGeneratedOption.Computed)”添加到我的临时表的 GENERATED ALWAYS AS ROW START/END 列在自动生成的类的 POCO 配置部分中,如下所示:

我可以手动添加它(这解决了我的错误),但是当我保存 T4 模板时它当然会被覆盖。

尝试插入记录时出错:“无法在表 'my_table' 中的 GENERATED ALWAYS 列中插入显式值。将 INSERT 与列列表一起使用以排除 GENERATED ALWAYS 列,或将 DEFAULT 插入 GENERATED ALWAYS 列。”

我看到了这篇文章,但没有帮助(也许它只在使用 edmx 文件时有效,或者我不明白解决方案):Entity Framework not working with temporal table

我的临时表示例

插入记录的示例代码

0 投票
1 回答
1138 浏览

sql - 更新临时表而不更新历史

我有一个临时PersonPersonHistory

列:

物理删除一行时,我想坚持谁删除了 中的行ModifiedBy,而不向PersonHistory.

关于如何实现这一目标的任何想法?

谢谢。

0 投票
1 回答
168 浏览

sql-server-2016 - SQL Server 2016 时态表 - 构建历史数据

我必须从 SQL Server 2016 时态表中构建历史数据。

考虑以下表结构:

  • 表名:对象
  • 列:ObjectId(主键)、名称(Varchar 100)、价格(int)、UpdatedBy(varchar 100)、UpdatedOn(日期时间)、ValidFrom(生成的日期时间)、ValidTo(生成的日期时间)

Objects_History该表在时态表中也有记录

现在,要求是我们可以通过以下方式显示任何特定对象的审计跟踪:

最新记录应该放在第一位。