You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Snowflake JavaScript存储过程报prefix operation语法错误如何解决

报错原因

该报错是关键字命名冲突导致的语法解析错误:

  • delete是JavaScript原生保留关键字,本身是用于删除对象属性的操作符,不允许作为自定义函数/变量名使用
  • Snowflake存储过程的解析器会对JS代码块内的标识符做归一化处理,你定义的大写Delete函数会被识别为小写的关键字delete,解析器会把var ret=Delete();判定为对delete操作符的错误调用,操作符后需要跟合法的待删除左值表达式,因此抛出Invalid left-hand side expression in prefix operation错误。
修复方案

将自定义函数名修改为和JS关键字完全无关的名称即可,比如改为deleteTableRecords、clearRepositoryTable这类都可以。

修复后的完整存储过程代码如下:

CREATE OR REPLACE PROCEDURE "SP_PROCEDURE"()
RETURNS VARCHAR(16777216)
LANGUAGE JAVASCRIPT
STRICT
AS $$ 
    function deleteRepositoryTable()
    {
        var DeleteRepositoryTable=`DELETE FROM "TABLEA"`;
        try{
            snowflake.execute({sqlText:DeleteRepositoryTable});
            return "Success";
        }
        catch(err)
        {
            return "Error Ocurred While Loading Data" + err;
        }
    }
    var ret=deleteRepositoryTable();
    return ret;
$$

内容的提问来源于stack exchange,提问作者akshindesnowflake

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 03:15:07