我们在雪花中分别创建了2个存储过程。现在,我们有了需要执行的主存储过程。编写该主存储过程的方式是,第一个存储过程的返回值将触发第二个存储过程。
当我将第一个存储过程的返回值分配给variable时,好像没有被分配。
var CALL_CATALOG_SP_return_val= snowflake.execute({ sqlText: CALL_CATALOG_SP });
如何确保仅当我从第一个存储过程中获得特定值时,我才是第二个存储过程。
答案 0 :(得分:2)
不确定,您目前的状况如何。我可以做到如下
CREATE OR REPLACE procedure FIRST_PROC()
RETURNS VARCHAR
LANGUAGE JAVASCRIPT
AS
$$
A = 'DONE';
return A;
$$;
CREATE OR REPLACE procedure SECOND_PROC()
RETURNS VARCHAR
LANGUAGE JAVASCRIPT
AS
$$
query = 'CALL FIRST_PROC()';
A= snowflake.execute({ sqlText:query });
A.next();
return_val = A.getColumnValue(1);
return return_val;
$$;
CALL SECOND_PROC();