试图从snowflake中的过程返回变量值.而且它正在出错


CREATE OR REPLACE PROCEDURE dbo.test()
RETURNS varchar  null 
LANGUAGE JAVASCRIPT
execute as caller
AS 
$$
set MY_VAR =1;
return $MY_VAR;
$$
;

如果我执行以下操作,我将面临错误。消息如下所示调用dbo.test((;

//ERROR: JavaScript compilation error: Uncaught SyntaxError: Unexpected identifier in TEST at 'set MY_VAR =1;' position 4
CREATE OR REPLACE PROCEDURE test()
RETURNS float not null 
LANGUAGE JAVASCRIPT
execute as caller
AS 
$$
var MY_VAR =1.1;
return MY_VAR;
$$
;

call <database>.<schema>.test();

给出:

1.1

因此,如果您试图返回一个数值,我将其更改为float而不是varchar,但在测试以太之后,它就可以了。

但大多数情况下,我从set更改为var来声明您的变量。另一个有效的关键字是let,它也起作用。

最新更新