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

ERP系统中如何将多authorize_id传入API批量获取USERID?

解决ORA-01427错误,批量获取QA组审批人USERID

这问题我之前配置ERP审批通知时也碰到过!你遇到的ORA-01427: single-row subquery returns more than one row错误,根源在于你把返回50行的子查询直接塞给了只接受单个值的函数参数——Oracle没办法一次性把多个ID当成一个参数处理。

正确的批量查询写法

你只需要把purch_authorize_group_line作为主表,对每一行的authorize_id逐个调用purchase_authorizer_api.get_userid函数就行:

SELECT 
    purchase_authorizer_api.get_userid('30', pagl.authorize_id) AS user_id,
    pagl.authorize_id  -- 可选:同时返回原始审批人ID方便核对
FROM purch_authorize_group_line pagl
WHERE pagl.authorize_group_id = '30-QA-NUC';

为什么这个写法可行?

这个语句会遍历purch_authorize_group_line中所有属于QA组的审批人记录,对每一条记录的authorize_id单独调用get_userid函数,最终返回50条对应的USERID结果,正好满足你批量获取的需求。

拿到这些USERID之后,你就可以在ERP的事件配置里,把它们作为收件人列表,发送PO待审批的邮件通知给QA组的所有成员了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:40:06