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

Snowflake存储过程编写报错求助:SQL编译语法错误排查

Snowflake存储过程SQL编译错误排查

我是Snowflake新手,正在使用Snow Scripting编写存储过程,但遇到了SQL编译错误,恳请协助排查问题。

我的存储过程代码如下:

create or replace procedure test_procedure(p_dob date)
returns varchar
language sql
as
declare
    v_age NUMBER;
begin
    v_age := datediff(year, p_dob, current_date);
    return 'Your age is '||v_age::varchar;
end;

报错信息为:SQL编译错误:第6行第17位出现语法错误,意外的空字符。

问题原因及解决方案

问题出在存储过程主体未使用分隔符包裹。Snowflake的SQL语言存储过程要求用分隔符(如$$)界定as之后的存储过程逻辑,否则数据库会错误解析declare关键字,引发语法错误。

修正后的代码如下:

create or replace procedure test_procedure(p_dob date)
returns varchar
language sql
as $$
declare
    v_age NUMBER;
begin
    v_age := datediff(year, p_dob, current_date);
    return 'Your age is '||v_age::varchar;
end;
$$;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 23:33:13