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

将MySQL函数迁移至Amazon Redshift时DECLARE语句报错求助

问题解决:Redshift中DECLARE语句语法错误

Redshift采用基于PostgreSQL的PL/pgSQL语法,和MySQL的变量声明规则存在差异。你当前的写法DECLARE saldoAtual, saldoInicial, idPerfil INT default 0;不符合Redshift的语法要求——Redshift不支持多个变量共享一个类型声明,必须为每个变量显式指定数据类型(即使类型完全相同)。

修正后的写法

写法1:每行声明一个变量(推荐,可读性更高)

DECLARE
    saldoAtual INT DEFAULT 0;
    saldoInicial INT DEFAULT 0;
    idPerfil INT DEFAULT 0;

写法2:单行声明多个变量(每个变量都显式指定类型)

DECLARE saldoAtual INT DEFAULT 0, saldoInicial INT DEFAULT 0, idPerfil INT DEFAULT 0;

补充说明

Redshift里INT是INTEGER的合法别名,报错的核心原因是多变量共享类型的语法不符合PL/pgSQL规范,而非INT本身存在问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 12:40:16