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

Oracle Live SQL创建对象类型时编译中止,求问题排查思路

Oracle自定义类型编译错误排查与修复

你的代码存在两个关键问题导致编译失败:

  • 使用Oracle保留字作为属性名:date和time都是Oracle的内置保留关键字,不能直接用作对象类型的属性名称。
  • 属性名与类型名冲突:属性appointmentType和类型名AppointmentType在Oracle默认大小写不敏感的规则下属于同名,会触发编译错误。

修正后的代码如下:

CREATE TYPE AppointmentType AS OBJECT (
    appointment# NUMBER,
    appt_date DATE,
    appt_time NUMBER,
    appt_type VARCHAR2(50),
    levelOfInterest NUMBER,
    offerMade NUMBER,
    MEMBER FUNCTION isOfferMade RETURN BOOLEAN
);

CREATE TYPE BODY AppointmentType AS
    MEMBER FUNCTION isOfferMade RETURN BOOLEAN IS
    BEGIN
        RETURN offerMade > 0;
    END isOfferMade;
END;

说明:

  • 将date替换为appt_date,time替换为appt_time,避开保留字;
  • 将appointmentType替换为appt_type,避免与类型名冲突;
  • 其余逻辑保持不变,修复后可正常编译执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 00:22:01