雪花存储过程给出类似“Uncaught ReferenceError”之类的错误?
Posted
技术标签:
【中文标题】雪花存储过程给出类似“Uncaught ReferenceError”之类的错误?【英文标题】:snowflake stored procedure giving error like "Uncaught ReferenceError"? 【发布时间】:2021-05-24 10:15:06 【问题描述】:我尝试执行下面的查询,它会抛出类似“Uncaught ReferenceError: float_param1”的错误
create or replace table test1(num_col1 number);
create or replace procedure rt(float_param1 float )
returns string
language javascript
as
$$
var sql_command=
"insert into test1 (num_col1) values ("+ float_param1 +")";
snowflake.execute(
sqltext:sql_command
);
return 'succes.';
$$
;
call rt(12.23::float);
错误类似于“JavaScript 执行错误:未捕获的 ReferenceError:float_param1 未在 RT 中定义”“插入 test1 (num_col1) 值 (“+ float_param1 +”)”;'位置 42 stackstrace:RT 行:3"
【问题讨论】:
【参考方案1】:输入参数在存储过程中应为大写。
var sql_command= "插入 test1 (num_col1) 值 ("+ FLOAT_PARAM1 +")";
【讨论】:
感谢您的快速回复,在上述更改之后,它给出了类似“存储过程 RT 中的执行错误:空参数在 Snowflake.execute,第 3 行位置 10 传递的错误” 创建或替换过程 test_proc1(float_param1 float) 返回字符串语言 JAVASCRIPT AS $$ var return_value = ''; var V_SQL =insert into test1 (num_col1) values(:1)
; var EXEC_V_SQL = snowflake.createStatement(sqlText: V_SQL, binds: [ FLOAT_PARAM1 ]) try EXEC_V_SQL.execute(); return_value = "成功"; catch(err) return_value = "错误"; 返回返回值; $$;
谢谢,它正在工作,但为什么我收到错误“FLOAT_PARAM1”以上是关于雪花存储过程给出类似“Uncaught ReferenceError”之类的错误?的主要内容,如果未能解决你的问题,请参考以下文章