【发布时间】:2021-12-08 14:31:20
【问题描述】:
我正在雪花中编写存储过程,其中我有几行带有多个连接的选择语句。所以我需要为每个数据库模式使用变量。我尝试将以下代码作为实验进行试验,但无法使其正常工作。有人可以建议如何传递变量。
CREATE OR REPLACE PROCEDURE test_proc(tmpschema VARCHAR, dbschema VARCHAR)
RETURNS VARCHAR
LANGUAGE JAVASCRIPT
AS
$$
/* Load STARTED */
try{
snowflake.createStatement({sqlText:`TRUNCATE TABLE '${dbschema}'.TAB1`}).execute();
snowflake.createStatement({sqlText:`TRUNCATE TABLE '${tmpschema}'.TAB2`}).execute();
}
catch(err){
return 'Failed Truncating TMP tables: ' + err;
}
$$
;
上面的代码已经成功创建了程序,但是调用却抛出了一个错误。
call BIGDATA.test_proc('TMP', 'DB');
Error: Failed Truncating TMP tables:: ReferenceError: dbschema is not defined
【问题讨论】:
标签: snowflake-cloud-data-platform snowflake-schema