100132 (P0000): JavaScript execution error: Uncaught ReferenceError:
100132 (P0000): JavaScript execution error: Uncaught ReferenceError:
我正在为存储过程练习 try 和 catch 的用例 未定义错误编号。但是低于完全错误。
100132 (P0000): JavaScript execution error: Uncaught ReferenceError: num is not defined in SP at ' var sql_comm = "insert into test_sp (col) values(" + num + ")";' position 57
堆栈跟踪:
SP 行:2
下面是我的代码
create or replace TABLE TEST_SP (
COL NUMBER(38,0)
);
create or replace procedure sp ( num float )
returns float
language javascript
strict
execute as owner
as
$$
var sql_comm = "insert into test_sp values(" + num + ")";
try {
snowflake.execute(
{sqlText:sql_comm}
);
return "succeeded"
}
catch (err){
return "failed" + err ;
}
$$
;
call sp(2::float);
存储过程中的参数NUM
需要全部大写。你正在 returning float
但是 returning strings/text
之后是固定的,所以在我的例子中我改为 return TEXT
,但我怀疑这只是您测试的一个功能。
create or replace procedure sp ( num float )
returns text
language javascript
strict
execute as owner
as
$$
var sql_comm = "insert into test_sp values(" + NUM + ")";
try {
snowflake.execute(
{sqlText:sql_comm}
);
return "succeeded"
}
catch (err){
return "failed" + err ;
}
$$
;
作品:
调用 sp(2::float);
给予:
SP
succeeded
并检查:
select * from test_sp;
给出:
COL
2
2
2
存储过程中的所有参数都要大写,将参数改为大写即可解决问题。
我正在为存储过程练习 try 和 catch 的用例 未定义错误编号。但是低于完全错误。
100132 (P0000): JavaScript execution error: Uncaught ReferenceError: num is not defined in SP at ' var sql_comm = "insert into test_sp (col) values(" + num + ")";' position 57
堆栈跟踪: SP 行:2
下面是我的代码
create or replace TABLE TEST_SP (
COL NUMBER(38,0)
);
create or replace procedure sp ( num float )
returns float
language javascript
strict
execute as owner
as
$$
var sql_comm = "insert into test_sp values(" + num + ")";
try {
snowflake.execute(
{sqlText:sql_comm}
);
return "succeeded"
}
catch (err){
return "failed" + err ;
}
$$
;
call sp(2::float);
存储过程中的参数NUM
需要全部大写。你正在 returning float
但是 returning strings/text
之后是固定的,所以在我的例子中我改为 return TEXT
,但我怀疑这只是您测试的一个功能。
create or replace procedure sp ( num float )
returns text
language javascript
strict
execute as owner
as
$$
var sql_comm = "insert into test_sp values(" + NUM + ")";
try {
snowflake.execute(
{sqlText:sql_comm}
);
return "succeeded"
}
catch (err){
return "failed" + err ;
}
$$
;
作品:
调用 sp(2::float);
给予:
SP
succeeded
并检查:
select * from test_sp;
给出:
COL
2
2
2
存储过程中的所有参数都要大写,将参数改为大写即可解决问题。