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

迁移至PostgreSQL时声明类型遇语法错误,求解决方案

PostgreSQL中声明集合类型的语法修正

PostgreSQL不支持Oracle风格的TYPE ... IS TABLE OF语法,针对你的报错,按以下两种场景调整:

全局创建可复用的集合类型

如果obj1是已定义的复合/对象类型,直接创建它的数组类型:

CREATE TYPE rec_tab1 AS obj1[];

注:PostgreSQL会自动为每个自定义类型生成对应的数组类型(格式为类型名[]),多数场景下无需显式执行上述语句,直接使用obj1[]即可。

在PL/pgSQL中声明集合变量

如果是在函数或存储过程内声明这类变量,直接用数组语法声明:

DECLARE
    rec_tab1 obj1[];
BEGIN
    -- 业务逻辑代码
END;

另外注意:你报错语句中的rec_tabi和rec_obj1,与你提供的代码存在拼写差异,修正语法后也需要检查这类拼写问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 05:55:19