我尝试在 Qlik Data Editor 中执行 Snowflake 存储过程。
雪花存储过程以 CALL 语句开头。但它不会直接返回表格结果。我收到一条消息,我们已经选择这些结果来获取表格结果。我无法存储 CALL 语句的结果消息。
请问有人可以帮助如何执行 Snowflake 存储过程吗?
例如:
CALL "ODS_BI".Dimension('SK0009', 'DEBIT', 1, NULL);
您需要使用 RESULT_SCAN 来检索调用存储过程的结果。
例如:
CALL <stored_proc_name>();
检索结果集:
SELECT * FROM TABLE(RESULT_SCAN(LAST_QUERY_ID()));
欲了解更多信息,请阅读此处。
如果您想返回可用的数据集,那么您可能需要查看 UDF 而不是 SP。
如果您必须使用 SP,则本文档解释了您可以使用的选项:存储过程概述
您现在可以发出 SELECT FROM 存储过程,如下所示:
SELECT * FROM TABLE(Dimension('SK0009', 'DEBIT', 1, NULL))
WHERE {where_condition}
更多信息:https://docs.snowflake.com/en/developer-guide/stored-procedure/stored-procedures-selecting-from