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

Oracle APEX插入数据失败时如何展示校验插入结果的错误消息

Oracle APEX 插入操作失败的错误提示实现方案
  • 方法1:自定义PL/SQL插入逻辑中捕获异常抛出提示
    这是最灵活的实现方式,直接在你编写的插入语句外层套异常捕获块,调用APEX原生的错误消息API即可抛出可视化提示,完整示例代码如下:
    BEGIN
      -- 替换为你自己的插入语句
      INSERT INTO 目标表(字段1, 数字字段2, 字段3)
      VALUES (:P1_INPUT1, :P1_NUM_INPUT, :P1_INPUT3);
      -- 可选:插入成功的提示
      apex_message.add_success_message('数据插入成功');
    EXCEPTION
      WHEN OTHERS THEN
        -- 捕获所有异常输出错误提示
        apex_error.add_error(
          p_message => '数据插入失败,错误原因:' || SQLERRM,
          p_display_location => apex_error.c_inline_in_notification, -- 同时在页面顶部和对应输入项下方显示提示
          p_page_item_name => 'P1_NUM_INPUT' -- 可选,绑定错误到对应输入项,方便用户快速定位问题
        );
        ROLLBACK;
    END;
    
    如果需要针对特定错误类型输出更精准的提示,比如数字格式错误(错误码-1722),可以拆分异常捕获逻辑:
    EXCEPTION
      WHEN OTHERS THEN
        IF SQLCODE = -1722 THEN
          apex_error.add_error(
            p_message => '输入格式错误,数字字段不可输入文本内容',
            p_display_location => apex_error.c_inline_in_notification,
            p_page_item_name => 'P1_NUM_INPUT'
          );
        ELSE
          apex_error.add_error(
            p_message => '插入失败,错误详情:' || SQLERRM,
            p_display_location => apex_error.c_inline_in_notification
          );
        END IF;
        ROLLBACK;
    
  • 方法2:前端页面项预校验提前拦截错误
    针对输入类错误(比如数字字段输文本),可以直接在页面对应项的配置中设置规则,把错误拦截在提交前:
    • 把数字类型字段的页面项类型设为「数字」,而非纯文本输入框
    • 配置格式掩码、输入范围限制、必填校验等规则
      该方式可拦截90%以上的输入格式类错误,无需等到执行插入逻辑才提示。
  • 方法3:进程级通用错误提示配置
    如果你是把插入逻辑写在APEX的后台处理进程中,无需额外写代码,直接在进程的「错误」配置页签下设置:
    • 自定义错误消息文本:可填写「数据插入失败,请检查输入内容格式是否正确」
    • 显示位置选择「通知和内联」
      配置后只要进程执行失败就会自动弹出你设置的提示信息,适合快速配置的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 20:24:04