流和任务存储过程的示例,我不确定如何对javascript进行故障排除

时间:2019-12-20 22:21:29

标签: snowflake-data-warehouse

我刚刚了解了Snowflake中的流和任务,并测试了用于跟踪成员和注册的示例in the first example here.

我试图创建一个如下所示的存储过程:

CREATE OR REPLACE procedure member_update()
   returns string not null
   language javascript
   as 
   $$
   var statement = snowflake.createStatement({sqlText: "BEGIN"} );
   statement.execute();
   var statement = snowflake.createStatement({sqlText: "UPDATE members SET fee = fee + 15 where fee > 0"} );
   statement.execute();

   var statement = snowflake.createStatement({sqlText: "SELECT * FROM member_check"} );
   statement.execute();

   var statement = snowflake.createStatement({sqlText: "COMMIT"} );
   statement.execute();

   var statement = snowflake.createStatement({sqlText: "SELECT * FROM member_check"} );
   statement.execute();

   $$
   ;
   
   
INSERT INTO members (id,name,fee)
VALUES
(11,'Bill',0),
(12,'Jason',0),
(13,'Suzan',0),
(14,'Michelle',0),
(15,'AARON',0);


SELECT * FROM MEMBER_CHECK;

INSERT INTO signup
VALUES
(11,'2018-01-01'),
(12,'2018-02-15'),
(13,'2018-05-01'),
(14,'2018-07-16'),
(15,'2018-08-21');

MERGE INTO members m
  USING (
    SELECT id, dt
    FROM signup s
    WHERE DATEDIFF(day, '2018-08-15'::date, s.dt::DATE) < -30) s
    ON m.id = s.id
  WHEN MATCHED THEN UPDATE SET m.fee = 90;   
  
Call member_update();

我遇到了一个错误,希望初学者存储过程可以对我有所帮助。

错误:

  

存储过程MEMBER_UPDATE中的执行错误:空参数   通过Snowflake.createStatement,第2行第29位

0 个答案:

没有答案