【问题标题】:Execute stored procedure inside another stored procedure in snowflake在雪花中的另一个存储过程中执行存储过程
【发布时间】:2020-12-10 10:03:10
【问题描述】:
我们在雪花中分别创建了 2 个存储过程。现在我们有了需要执行的主存储过程。这个主存储过程的写法是第一个存储过程的返回值会触发第二个存储过程。
当我将第一个存储过程的返回值分配给变量时,它似乎没有被分配。
var CALL_CATALOG_SP_return_val= snowflake.execute({ sqlText: CALL_CATALOG_SP });
如何确保我的第二个存储过程仅在我从第一个存储过程中获得特定值时运行。
【问题讨论】:
标签:
snowflake-cloud-data-platform
【解决方案1】:
不确定,你是怎么做的。我可以做到以下几点
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();