是否可以在Azure synapse数据仓库中创建时态表

问题描述 投票:0回答:2

我正在尝试在天蓝色突触数据仓库中创建临时表。

    CREATE TABLE dbo.Department
(
    DeptID INT NOT NULL PRIMARY KEY CLUSTERED
  , DeptName VARCHAR(50) NOT NULL
  , ManagerID INT NULL
  , ParentDeptID INT NULL
  , ValidFrom DATETIME2 GENERATED ALWAYS AS ROW START NOT NULL
  , ValidTo DATETIME2 GENERATED ALWAYS AS ROW END NOT NULL
)
WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = dbo.DepartmentHistory));

我遇到解析错误

azure parse-error temporal-tables azure-synapse-analytics
2个回答
0
投票

截至 2023 年 8 月,Microsoft Learn(文档)页面Azure Synapse SQL 中支持的 Transact-SQL 功能 未明确提及时态表或

FOR SYSTEM_TIME
子句,但关于
SELECT
语句的部分确实提到了

支持 SELECT 语句,但不支持某些 Transact-SQL 查询子句 [...]。

临时表的文档页面本身列出了它适用于哪些版本的 SQL Server,并且该列表中不包括 Synapse DW:

结合您在尝试时遇到语法错误的事实,似乎可以肯定 Azure Synapse DW 目前不支持此语言功能。当然,这种情况将来可能会改变。


-1
投票
是的,可以在 Azure Synapse 中创建临时表。 这是创建临时表的查询。

CREATE TABLE #Department ( ID INT PRIMARY KEY, Name VARCHAR(50), Manager VARCHAR(50) );
为了创建临时表,您必须在表名称前面包含 (#) 哈希或井号,因为它表示临时表。

enter image description here

enter image description here

您也可以使用完全限定的服务器名称来查询。

例如

select * from tempDb#department


这应该可以帮助您在 Azure Synapse 中创建临时表。

© www.soinside.com 2019 - 2024. All rights reserved.