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

调用Snowflake存储过程报错:无效标识符'ID_1PAR'

Snowflake存储过程报错解决:invalid identifier 'ID_1PAR'

问题原因

Snowflake的SQL语言存储过程中,引用输入参数必须在参数名前加冒号(:)前缀,否则系统会将参数名当作普通表字段或标识符,而非存储过程的输入参数,进而抛出"invalid identifier"错误。

修正后的存储过程代码

CREATE OR REPLACE PROCEDURE PUBLIC.SP_BRANDS
    (ID_1PAR NUMBER(38,0), 
     NOTESPAR VARCHAR(50), 
     PRODUCTPAR VARCHAR(50), 
     KPI1PAR NUMBER(38,0), 
     KPI2PAR NUMBER(38,0))
RETURNS VARCHAR(50)
LANGUAGE SQL
EXECUTE AS OWNER
AS '
BEGIN
    INSERT INTO BRANDS (ID_1, NOTES, PRODUCT, KPI1, KPI2)
    VALUES (:ID_1PAR, :NOTESPAR, :PRODUCTPAR, :KPI1PAR, :KPI2PAR);  

    RETURN ''Insert Successful'';
END;
';

关键修改说明

在INSERT语句的VALUES子句里,每个参数名前添加了冒号前缀(比如:ID_1PAR、:NOTESPAR),让Snowflake正确识别这些是存储过程的输入参数。

验证步骤

  1. 执行上述修正后的存储过程创建语句
  2. 用原调用语句执行:
CALL SP_BRANDS(123, 'Important note', 'New Product', 150, 75);

此时可正常插入数据并返回Insert Successful。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 22:07:01