我正在寻找一段代码,它将导致流为空,从而将其重置。这是用例。我们使用流来跟踪类型2维度表到数据集市中的更改。在某些情况下,要求我们截断并重新加载该维表以修复缺陷或其他数据问题。发生这种情况时,流需要重置以仅在重新加载发生后才开始捕获更改。 Snowflake没有像ALTER STREAM PURGE这样的功能可以为我们管理此功能,因此我们需要自己做。我不想每次需要这样做时都发出CREATE或REPLACE STREAM语句。
答案 0 :(得分:3)
你能做这样的事吗?
insert into THE_TARGET_TABLE select * from THE_STREAM where 1=0
这将消耗流而不会更改目标表上的任何内容。
答案 1 :(得分:2)
与Greg类似,如果将其插入到现有表中会使您感到紧张,则可以运行类似的内容。
CREATE OR REPLACE TEMP TABLE RESET_TBL AS
SELECT * FROM THE_STREAM;