跳到主要内容

STREAM_STATUS

引入或更新于:v1.2.225

提供指定流的状态信息,生成一个单列结果(has_data),其值可以是 truefalse

  • true:表示流可能包含变更数据捕获记录。
  • false:表示流当前不包含任何变更数据捕获记录。
备注

结果中的 true并不确保一定存在变更数据捕获记录。其他操作,例如执行表压缩操作,也可能导致 true 值,即使实际上没有变更数据捕获记录。

语法

SELECT * FROM STREAM_STATUS('<stream_name>');

示例

-- 创建一个带有列 'c' 的表 't'
CREATE TABLE t (c int);

-- 在表 't' 上创建一个流 's'
CREATE STREAM s ON TABLE t;

-- 检查流 's' 的初始状态
SELECT * FROM STREAM_STATUS('s');

-- 结果应为 'false',表示初始时没有变更数据捕获记录
┌──────────┐
│ has_data │
├──────────┤
false
└──────────┘

-- 向表 't' 中插入一个值
INSERT INTO t VALUES (1);

-- 插入后检查流 's' 的更新状态
SELECT * FROM STREAM_STATUS('s');

-- 结果现在应为 'true',表示存在变更数据捕获记录
┌──────────┐
│ has_data │
├──────────┤
true
└──────────┘
开始使用 Databend Cloud
低成本
快速分析
多种数据源
弹性扩展
注册