类别:

系统函数 (系统信息)

SYSTEM$GET_DIRECTORY_TABLE_STATUS

返回一个记录列表,这些记录包含账户中暂存区的 目录表 一致性状态。一致性状态指示复制暂存区上的目录表是否具有有关该暂存区上所有复制文件的信息(一致)。

另请参阅:

暂存区、管道和加载历史记录复制目录表

语法

SYSTEM$GET_DIRECTORY_TABLE_STATUS( [ '<stage_name>' ] )
Copy

实参

可选:

'stage_name'

您要检索其目录表一致性状态的暂存区。当您指定暂存区名称时,该函数将返回一个列表,其中包含该暂存区上目录表的单个记录。

返回

返回您账户中每个暂存区的目录表一致性记录列表。 该列表最多包含 10,000 条记录。如果您指定一个 'stage_name' 实参,该函数返回一个列表,其中包含该暂存区上目录表的单个记录。

记录使用 JSON 格式并包含以下名称/值对:

{
  "stage" : "STAGE1",
  "status" : "INCONSISTENT"
}

其中:

stage

启用目录表的暂存区。

status

目录表的一致性状态。如果目录表与暂存区上复制的内容完全一致,则为 CONSISTENT;如果不一致,则为 INCONSISTENT。状态为 INCONSISTENT 意味着 Snowflake 无法验证一致性,并且目录表可能缺少有关暂存区上存在的某些文件的信息。

使用说明

  • 若要调用此函数,您必须使用在要检索一致性状态的暂存区上授予或继承 READ 权限的角色。

  • 要将一致性状态从 INCONSISTENT 更新到 CONSISTENT,请使用 ALTER STAGE ...REFRESH 命令来执行完全刷新。

示例

以下示例检索账户中各个暂存区的一致性状态记录列表:

SELECT SYSTEM$GET_DIRECTORY_TABLE_STATUS();
Copy

输出:

[
  {
    "stage" : "STAGE1",
    "status" : "CONSISTENT"
  },
  {
    "stage" : "STAGE2",
    "status" : "INCONSISTENT"
  }
]

以下示例检索名为 stage1 的暂存区的一致性状态记录:

SELECT SYSTEM$GET_DIRECTORY_TABLE_STATUS('stage1');
Copy

输出:

[
  {
    "stage" : "STAGE1",
    "status" : "CONSISTENT"
  }
]
语言: 中文