📣新登場!TiDB Cloud BYOC、TiDB Cloud Filesystem、PostgreSQL-compatible TiDB Cloud Starter がパブリックプレビュー中。このページは自動翻訳されたものです。原文はこちらからご覧ください。

WITH CONSUME



SELECT クエリ内でストリームからデータを消費します。

関連情報: WITH ストリームヒント

構文

SELECT ... FROM <stream_name> WITH CONSUME [ AS <alias> ] [ WHERE <conditions> ]

例

's' という名前のストリームがあり、次のデータをキャプチャしているとします。

SELECT * FROM s; ┌────────────────────────────────────────────────────────────────────────────────────────────────┐ │ a │ change$action │ change$row_id │ change$is_update │ ├─────────────────┼──────────────────┼────────────────────────────────────────┼──────────────────┤ │ 3 │ INSERT │ 4942372d864147e98188f3b486ec18d2000000 │ false │ │ 1 │ DELETE │ 3df95ad8552e4967a704e1c7209d3dff000000 │ false │ └────────────────────────────────────────────────────────────────────────────────────────────────┘

ここで WITH CONSUME を使用してストリームをクエリすると、次の結果が返されます。

SELECT a FROM s WITH CONSUME AS ss WHERE ss.change$action = 'INSERT'; ┌─────────────────┐ │ a │ ├─────────────────┤ │ 3 │ └─────────────────┘

上記のクエリによってストリーム内に存在していたすべてのデータが消費されたため、ストリームは現在空です。

-- empty results SELECT * FROM s;

このページは役に立ちましたか?