在雪花中的另一个存储过程中执行存储过程

时间:2020-08-21 02:37:48

标签: snowflake-cloud-data-platform

我们在雪花中分别创建了2个存储过程。现在,我们有了需要执行的主存储过程。编写该主存储过程的方式是,第一个存储过程的返回值将触发第二个存储过程。

当我将第一个存储过程的返回值分配给variable时,好像没有被分配。

var CALL_CATALOG_SP_return_val= snowflake.execute({ sqlText: CALL_CATALOG_SP });

如何确保仅当我从第一个存储过程中获得特定值时,我才是第二个存储过程。

1 个答案:

答案 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();