R0b*_*ert 2 javascript sql stored-procedures snowflake-cloud-data-platform
我写了一个任务,每个周末调用该程序。
这是我将值插入表中的过程
CREATE OR REPLACE TABLE TABLE1(DATABASE_ VARCHAR, TABLE_ VARCHAR); // Table to store values
CREATE OR REPLACE PROCEDURE TASK_() //Procedure to insert values into table
RETURNS string
LANGUAGE JAVASCRIPT
AS
$$
var str = '';
var stmt = snowflake.createStatement({sqlText: "INSERT INTO TABLE1 VALUES ('DB1','TB1')"});
stmt.execute();
return str;
$$;
Run Code Online (Sandbox Code Playgroud)
这是我每个周末调用上述程序的任务。
CREATE TASK mytask_hour
WAREHOUSE = COMPUTE_WH
SCHEDULE = 'USING CRON 0 0 * 1-12 SUN America/Los_Angeles'
TIMESTAMP_INPUT_FORMAT = 'YYYY-MM-DD HH24'
as
call TASK_();
Run Code Online (Sandbox Code Playgroud)
但是当我检查时,上面的任务没有运行,值也没有插入到表中。
因此,我尝试调试我的任务并编写了一个每分钟调用上述过程的任务。
create task mytask_hour
warehouse = COMPUTE_WH
schedule = '1 minute'
as
call TASK_();
Run Code Online (Sandbox Code Playgroud)
甚至这个任务也没有奏效。不明白我哪里做错了
创建任务是不够的。下一步是恢复它,因为任务默认处于“暂停”状态。
在你的情况下,声明是
ALTER TASK mytask_hour resume;
Run Code Online (Sandbox Code Playgroud)
结果:任务按照您的计划运行。
最重要的是,你必须记住
有关更多信息,请参见此处:https : //docs.snowflake.com/en/sql-reference/sql/alter-task.html