Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
100132(P0000):JavaScript执行错误:未捕获引用错误:_Javascript_Snowflake Cloud Data Platform - Fatal编程技术网

100132(P0000):JavaScript执行错误:未捕获引用错误:

100132(P0000):JavaScript执行错误:未捕获引用错误:,javascript,snowflake-cloud-data-platform,Javascript,Snowflake Cloud Data Platform,我正在练习存储过程的try-and-catch用例,因为没有定义错误num。但是低于完全错误 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 斯塔克斯特拉斯: 警司热线:2 下面是我的代码

我正在练习存储过程的try-and-catch用例,因为没有定义错误num。但是低于完全错误

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
斯塔克斯特拉斯: 警司热线: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
必须全部大写。您返回的是
float
,但返回的字符串/
文本
在这之后是固定的,因此在我的示例中,我更改为返回
文本
,但我怀疑这只是您测试的一个功能

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

存储过程中的所有参数都应该是大写的,将参数更改为大写将解决此问题