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

在Redshift中调用含IF ELSE条件的存储过程时遇到问题

问题解决:Redshift存储过程中"operator does not exist: integer == integer"错误

错误原因

Redshift基于PostgreSQL,其PL/pgSQL语法中,判断数值相等需使用单个等号=,而非双等号==。双等号并非Redshift支持的相等比较运算符,因此触发该错误。

修正后的存储过程代码

create or replace procedure sp4(f1 IN int)
as
$$
begin
    IF f1 = 0 then
        CREATE TABLE myetl(a int, b varchar);
    ELSE
        insert into new_tbl(id) values(47);
    END IF;
end;
$$ LANGUAGE plpgsql;

说明

将原代码中的f1==0修改为f1 = 0后,重新创建存储过程,调用call sp4(0)即可正常执行对应的逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 08:10:25