【发布时间】:2025-11-27 11:20:05
【问题描述】:
问题是关于 Snowflake snowsql。并且需要进行条件检查以查看 ETL_Date 是否已插入表中以及是否已插入;退出存储过程。否则,如果未插入日期,则继续插入数据,然后返回成功(零)并退出。任何帮助将不胜感激。谢谢。
起点:到目前为止我所做的代码。
IF ((SELECT IFNULL(MAX(ETL_DATE),'1900-01-01') FROM DB.TABLES.test_20200909) > CURRENT_DATE() )
{RETURN 0; break;}
else insert into DB.TABLES.test_20200909 (ETL_DATE,INSERT_VALUE)
values(CURRENT_DATE(),1)
这给了我错误:SQL 编译错误:第 1 行语法错误,位置 0 意外'IF'。
目标/结束游戏:必须将其放入存储过程中。 到目前为止我所说的是:
CREATE or replace procedure TABLE_DB.TABLES.test_20200909_1 ()
returns FLOAT
language javascript
as
$$
var test_1 =`IF ((SELECT MAX(ETL_DATE) FROM DB.TABLES.test_20200909) > CURRENT_DATE() )
{RETURN 0; break;}
else insert into DB.TABLES.test_20200909 (ETL_DATE,INSERT_VALUE)
values(CURRENT_DATE(),1)`;
var test_1_stmt = snowflake.createStatement({sqlText: test_1});
var test_1_res = test_1_stmt.execute();
return 0
$$
【问题讨论】:
标签: snowflake-cloud-data-platform snowsql