问题标签 [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 投票
4 回答
266 浏览

azure-sql-database - 在 Azure DB 中创建时态表

我正在使用 SSMS 17 并尝试在 SQL Azure 中创建一个临时表,但由于某种原因,选项表 -> 新建 -> 临时表被禁用。我创建了一个当前没有表的基本 Azure 数据库。有谁知道如何启用此功能或我可能做错了什么?

0 投票
4 回答
394 浏览

c# - C# SqlConnection 查询临时表

我有一个临时表Employee作为EmployeeHistory它的历史表。

在 C# 中,我使用SqlConnection从 SQL Server 查询数据以获取员工的整个历史记录。

这会引发错误:

FOR附近的语法不正确

那么,我们如何使用 C# 查询时态表的历史数据SqlConnection

0 投票
4 回答
684 浏览

sql - 时态表约束

我最近一直在研究临时表,并将它们成功应用于我的一张表。我需要将它应用到数据库中的其他表,所以我运行了一个类似于下面示例的脚本。但是,在我的第二张桌子上运行它时,我得到了

消息 2714,级别 16,状态 5,第 1 行 数据库中已经有一个名为“DF_ValidFrom”的对象。

下面的文章似乎暗示您可以在 Product 和 Location 和表中使用相同的约束。有人有将现有表更改为临时表的经验吗?

全文在这里 https://docs.microsoft.com/en-us/sql/relational-databases/tables/temporal-table-usage-scenarios

提前感谢您的帮助。

0 投票
0 回答
548 浏览

postgresql - 有没有人使用 temporal_tables 和/或 pg_partman 在 PostgreSQL 数据库上实现双时态表?

我试图弄清楚如何在 PostgreSQL 数据库上为产品目录实现双时态表。随着时间的推移,目录表可能会变得非常大。对于“今天产品 x 的价格是多少”和“一周前产品 x 的价格是多少”等频繁查询,我想获得非常好的性能。我想在“两个月前产品 x 的价格是多少”之类的查询中取得良好的性能。我还需要能够回答诸如“两周前我是怎么想的,在那之前三周产品 x 的价格是多少”(因此是双向的)之类的问题。因此,我也在考虑对数据进行分区。

我确实找到了https://pgxn.org/dist/temporal_tables/来帮助实现的系统时间方面(业务时间将是“手动”)和https://github.com/keithf4/pg_partman用于分区,但我想知道这两者是否可以很好地协同工作和/或是否有人成功使用了这些(或替代品)。

0 投票
1 回答
1028 浏览

sql - ValidFrom 的临时表默认约束不起作用

我有这个特定的问题。我正在运行 Microsoft SQL Server Management Studio (13.0.16000.28),我想创建临时表 Price。我想将“ValidFrom”列设置为默认值,例如“1900-01-01 00:00:00”。我正在运行的代码是

但是,当我在表中插入数据时

我明白了

结果

将“ValidFrom”列为“2017-08-09 11:18:30”。为什么我没有按预期获得该列的默认值“1900-01-01 00:00:00”?

插入时我的 Sysdatetime() 是 '2017-08-09 13:18:30'

我试图将 DEFAULT 设置为 Sysdatetime() 以获取当前日期和时间,但这也不起作用。似乎如果我将 DEFAULT 设置为任何我总是得到相同的结果。

我感谢每一个答案。

0 投票
1 回答
283 浏览

sql-server - 您可以将普通表复制到系统版本化的临时表吗?

我很想知道我是否可以在 SQL Server 中复制一个表,其中发布者是普通表,订阅者是系统版本的临时表?那可能吗?

目的是让 DW 包含 ODS 的历史(和当前)数据。在这种情况下,DW 是订阅者,ODS 是发布者。

0 投票
2 回答
6252 浏览

sql - Msg 2760, Level 16, State 1, Line 5 指定的模式名称“items”要么不存在,要么您没有使用它的权限

我正在尝试在我的 SQL Server 数据库中创建一个临时表。是否有人熟悉 SQL Server 中的此错误:

消息 2760,级别 16,状态 1,第 5 行 指定的模式名称“项目”不存在,或者您没有使用它的权限。

我认为我的用户权限可能有问题。任何帮助都会很棒。

这是代码:

0 投票
0 回答
163 浏览

temporal-tables - 无法将时态表上的数据类型更新为 NOT NULL

我需要在临时(系统版本)表上将列数据类型更改为 NOT NULL。附加的历史表中的列中有空值,在它让我进行更改之前需要消失。我试图关闭时态表的 system_versioning 并直接对历史表进行更新。我无法关闭 system_versioning,因为它被视图引用。

0 投票
1 回答
144 浏览

sql-server - SQL Server - 使用 EffectiveFrom 和 EffectiveTo 日期更新数据 - Upsert 优化

我们需要创建一个保持时间有效性的表(即,对于给定的键,在本例中为下表中的 Md5,不会有重叠的周期)。用户需要能够设置日期EffectiveFromEffectiveTo日期,因此临时表没有用,因为它们似乎只允许系统生成日期。用例是将批量数据上传并设置有效日期范围,这需要应用于现有数据以确保没有时间段重叠。

表定义:

我编写了一个适用于单行更新的 upsert 程序,如下所示:

上插程序:

即使在表中填充了 10,000,000 条记录,单个调用的性能也很好,调用大约需要 7 毫秒。问题是进行大量更新。通过游标对 35,000 条记录执行上述存储过程大约需要 5 分钟。

我尝试重写该过程以获取一个允许 DML 使用集合操作但在逻辑中迷失的表变量。任何人都可以帮助将上述逻辑转换为遵循此模式的基于集合的更新:

新的存储过程:

类型定义

0 投票
2 回答
512 浏览

sql-server - 使用日期/时间字段查询时态表

我需要使用 SQL Server 2016 中的时态表功能编写查询以获取以下输出。

客户表(系统版本表)

订单表

输出:OrderId,...,客户名称

客户名称应反映与订单日期相关的正确名称

以下查询将为我提供所需的输出,但我需要检查这是否是执行此类查询的正确方法..

提前致谢

查明达。