Fabric 数据仓库中的临时表

适用于:Microsoft Fabric 中的✅ 仓库

你可以在 Fabric Data Warehouse 中创建会话范围内的临时 (#temp) 表。

这些表格只存在于你创建它们的会话中,并且会持续到该会话的整个过程。 其他用户或会话看不到这些表。 当会话结束或你丢弃 #temp 表时,系统会自动丢弃这些表。 所有用户都可以访问这些表格,无需特定的项目级权限。

数据操作和定义的语法和 Fabric Data Warehouse 的用户表相同,但你会在表名后加上前缀#。 更多信息请参见 创建临时表

非分布式和分布式临时表

你可以根据具体用例创建两种类型的 #temp 表:非分布式和分布式。

  • 非分布式 #temp 表(MDF支持表)是默认类型。 在Fabric Data Warehouse中创建和使用非分布式 #temp 表的语法类似于用户表,但需要为临时表名称添加前缀#

     CREATE TABLE #table_name (
       Col1 data_type1,
       Col2 data_type2
     );
    
  • 您可以使用 DISTRIBUTION=ROUND_ROBIN 关键字创建分布式临时表(由 Parquet 提供支持):

    CREATE TABLE #table_name (
    Col1 data_type1,
    Col2 data_type2
    ) WITH (DISTRIBUTION=ROUND_ROBIN);
    

在前面的脚本中,data_type1data_type2Fabric 数据仓库中支持的数据类型的占位符。

使用分布式临时表,因为它们与普通用户表保持一致。 它们拥有无限存储、数据类型支持和T-SQL操作。

局限性

  • 时间旅行查询提示不会影响临时表,这些表始终返回表中的最新数据。 例如, FOR TIMESTAMP AS OF 查询提示不会影响会话范围的临时表,比如 #temp_table
  • 你可以用 ALTER TABLE来修改分布式临时表,但不能修改 MDF 支持的临时表。
  • 不支持以 ## 开头的全局临时表。