我正在尝试创建一个雪花存储过程,类似于下面的代码。但是if-else块中类似的操作符不起作用。
存储过程
create or replace procedure test_stored_procedure(inputvalue varchar)
returns string not null
language javascript
as
$$
if (inputvalue like '%abc%') { return 'valid input' } else { return 'invalid input'}
$$
; 调用该过程时,我将得到以下错误
JavaScript编译错误: Uncaught :在“if (inputvalue,如'%abc%') {返回‘有效输入’}或{返回‘无效输入’}‘位置14
处test_stored_procedure中的意外标识符
发布于 2021-07-14 19:12:25
JavaScript等价于LIKE '%abc%'是includes('abc')
create or replace procedure test_stored_procedure(inputvalue VARCHAR)
returns string not null
language javascript
as
$$
if ( INPUTVALUE.includes('abc')) {
return 'valid input';
}
else {
return 'invalid input';
}
$$; 测试:
CALL TEST_STORED_PROCEDURE('fabc');
-- valid input
CALL TEST_STORED_PROCEDURE('xyz');
-- invalid input备注:
语句应以;和 Case-sensitivity in JavaScript Arguments结束。
对于使用
的存储过程(和JavaScript ),语句的SQL部分中的标识符(例如参数名称)将自动转换为大写(除非您用双引号分隔标识符),而JavaScript部分中的参数名称将保留在它们原来的大小写
中。
https://stackoverflow.com/questions/68382030
复制相似问题