【发布时间】:2021-07-10 01:24:53
【问题描述】:
我有一个 Snowflake SQL 命令,格式如下:
CREATE TASK REPLACE_CERTAIN_ROWS
WAREHOUSE=<MY_WAREHOUSE>
SCHEDULE='USING CRON 0 5,17 * * * UTC'
AS
insert overwrite into <MY_SCHEMA>.<MY_TABLE>(FIELD1,FIELD2)
<MY_SQL>
我的桌子看起来像:
FIELD1|FIELD2
ABC,REPLACE
DEF,REPLACE
GHI,DONTREPLACE
JKL,DONTREPLACE
我如何改变我的 Snowflake 以仅覆盖 FIELD2="REPLACE" 行,而不是替换整个表?我是否必须首先有一个删除这些行的命令,或者有没有办法更即时地做到这一点?我知道每个 Snowflake 任务只能执行一个命令,因此希望避免管理依赖任务并在同一个任务/命令中完成所有操作。
期望的结果:
FIELD1|FIELD2
GHI,DONTREPLACE <- remained
JKL,DONTREPLACE <- remained
MNO,REPLACE <- was replaced
PQR,REPLACE <- was replaced
【问题讨论】:
标签: sql sql-insert snowflake-cloud-data-platform overwrite snowflake-schema