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

Redshift存储过程无法为参数设置默认值的语法问题

解决Amazon Redshift存储过程参数默认值的语法错误

错误原因

你的代码触发语法错误,是因为Amazon Redshift要求带默认值的存储过程参数必须显式指定参数模式(IN/OUT/INOUT),同时代码缺少存储过程必需的语言声明和过程体部分。

正确代码示例

CREATE OR REPLACE PROCEDURE "abc"(IN i_sample_size FLOAT DEFAULT 1.0)
LANGUAGE plpgsql
AS $$
BEGIN
  -- 在这里编写你的存储过程逻辑
  -- 示例:打印参数值
  RAISE NOTICE '当前采样大小: %', i_sample_size;
END;
$$;

关键修正点

  • 显式添加IN参数模式:Redshift对带默认值的参数强制要求明确声明模式(即使默认是IN),否则解析器无法识别DEFAULT关键字。
  • 补充完整存储过程结构:必须指定LANGUAGE plpgsql,并用$$包裹过程体逻辑,否则语法不完整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 12:31:08