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
相关产品推荐
相关产品推荐

