Параметр NUM
внутри хранимой процедуры должен быть в верхнем регистре. И вы возвращаете float
, но возвращаете строки / text
после того, как это исправлено, поэтому в моем примере я изменил на возвращение 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 ;
}
$$
;
работает:
call sp (2 :: float);
дает:
SP
succeeded
и проверка:
select * from test_sp;
дает:
COL
2
2
2