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

Oracle自定义Item类型编译报错PLS-00103求助

Oracle自定义OBJECT类型编译错误解决

错误原因

原代码中属性id NUMBER末尾缺少逗号,导致Oracle解析器无法正确区分属性声明和后续的静态方法声明,将STATIC识别为属性的非法修饰符,触发PLS-00103错误。

修正后的类型定义代码

CREATE OR REPLACE TYPE Item FORCE AS OBJECT (
   id                      NUMBER,  -- 添加逗号分隔属性与方法
   STATIC FUNCTION getobject RETURN Item
);
/

补充:实现静态函数(可选)

如果需要让getobject函数实际生效,还需要创建对应的类型体:

CREATE OR REPLACE TYPE BODY Item AS
   STATIC FUNCTION getobject RETURN Item IS
   BEGIN
      -- 示例返回一个初始化id的Item对象,可根据需求修改逻辑
      RETURN Item(id => 1);
   END getobject;
END;
/

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 00:44:51