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

APEX中如何调用PACKAGE实现表数据插入并关联页面输入项

APEX页面调用PACKAGE存储过程替换原INSERT操作方案

代码替换方法

你原来在APEX页面的INSERT逻辑可以直接替换为如下写法,注意将YOUR_PACKAGE_NAME替换为公司实际创建的PACKAGE名称:

DECLARE
    -- 声明变量接收存储过程返回的执行结果
    LN_RESULTADO NUMBER;
BEGIN
    -- 保留原有的支付方式ID非空校验逻辑
    IF :P903_PYMT_MTH_ID IS NOT NULL THEN
        -- 调用PACKAGE中的P_NEW存储过程,按参数绑定页面项
        YOUR_PACKAGE_NAME.P_NEW(
            PN_PYMT_MTH_ID => :P903_PYMT_MTH_ID,
            PV_PYMT_MTH_TP => :P903_PYMT_MTH_TYPE,
            PV_PYMT_MTH_NM => :P903_PYMT_MTH_NM,
            PV_USR_NM => :P903_USR_NM,
            PN_RESULTADO => LN_RESULTADO
        );
        
        -- 可根据公司定义的返回值规则做后续提示处理
        -- 示例逻辑:返回1代表ID已存在,抛出APEX页面提示
        IF LN_RESULTADO = 1 THEN
            apex_error.add_error(
                p_message => '该支付方式ID已存在,请勿重复提交',
                p_display_location => apex_error.c_inline_in_notification
            );
        END IF;
    END IF;
END;

参数对应关系说明

存储过程参数和APEX页面项的绑定规则如下:

  • PN_PYMT_MTH_ID(数字入参):对应页面项:P903_PYMT_MTH_ID
  • PV_PYMT_MTH_TP(字符串入参):对应页面项:P903_PYMT_MTH_TYPE
  • PV_PYMT_MTH_NM(字符串入参):对应页面项:P903_PYMT_MTH_NM
  • PV_USR_NM(字符串入参):对应页面项:P903_USR_NM
  • PN_RESULTADO(数字出参):接收存储过程执行结果,可用来判断插入是否成功、是否重复提交等状态

注意事项

  • 原INSERT逻辑中的CRT_DT_TM、MOD_DT_TM(sysdate赋值)以及LAST_TXN_DT字段已经在PACKAGE存储过程内部处理,无需额外传参
  • APEX页面处理默认自动提交事务,不需要额外写COMMIT语句,建议不要在PACKAGE内部写提交逻辑,由APEX统一管控事务更符合低代码平台设计规范
  • 如果业务需要把页面的:P903_LAST_TXN_DT值传入存储过程,可以联系后端同事在P_NEW的入参列表中增加对应参数,再按上述规则绑定页面项即可

内容的提问来源于stack exchange,提问作者José Mora

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 18:36:03