将多个值传递到 API/Getting 多个值
Passing Multiple Values into an API/Getting Multiple Values
这是我今天要解决的问题。我们有一个 ERP 系统,我需要设置一个事件,以便在采购订单授权人 (POA) 准备好批准采购订单时向他们发送电子邮件。对于只有一个授权人的采购订单,这很容易设置。然而,一些采购订单需要经过一组授权人的审查,特别是我们的 QA 小组,才能获得批准。
我可以使用以下方法获取我们 QA 组的授权人列表:
select authorize_id from purch_authorize_group_line where authorize_group_id = '30-QA-NUC';
本次查询returns50行数据。
我还可以使用以下方法获取与授权 ID 关联的 USERID:
SELECT purchase_authorizer_api.get_userid('30','104351') FROM DUAL;
我想不通的是如何将第一个查询中的所有值传递到第二个查询中。此查询:
SELECT purchase_authorizer_api.get_userid('30',(select authorize_id from purch_authorize_group_line where authorize_group_id = '30-QA-NUC')) FROM DUAL;
returns错误"ORA-01427: single-row subquery returns more than one row."
所以,我想知道的是,是否有办法将第一个查询中的所有 50 个值传递到第二个查询中,并获取所有 50 个用户的 USERID。如果是这些 USERID,那么当 QA 组准备好批准 PO 时,我可以收到一封通知电子邮件。
也许您正在寻找这个。
SELECT purchase_authorizer_api.get_userid('30', authorize_id)
FROM purch_authorize_group_line
WHERE authorize_group_id = '30-QA-NUC';
这应该有帮助 -
DECLARE
V_VARIABLE VARCHAR2(1024);
BEGIN
FOR REC IN (SELECT AUTHORIZE_ID AS VAL FROM PURCH_AUTHORIZE_GROUP_LINE WHERE AUTHORIZE_GROUP_ID = '30-QA-NUC')
LOOP
SELECT PURCHASE_AUTHORIZER_API.GET_USERID('30',R.VAL) INTO V_VARIABLE FROM DUAL;
..
..
../* You code processing logic */
END LOOP;
END;
/
这是我今天要解决的问题。我们有一个 ERP 系统,我需要设置一个事件,以便在采购订单授权人 (POA) 准备好批准采购订单时向他们发送电子邮件。对于只有一个授权人的采购订单,这很容易设置。然而,一些采购订单需要经过一组授权人的审查,特别是我们的 QA 小组,才能获得批准。
我可以使用以下方法获取我们 QA 组的授权人列表:
select authorize_id from purch_authorize_group_line where authorize_group_id = '30-QA-NUC';
本次查询returns50行数据。
我还可以使用以下方法获取与授权 ID 关联的 USERID:
SELECT purchase_authorizer_api.get_userid('30','104351') FROM DUAL;
我想不通的是如何将第一个查询中的所有值传递到第二个查询中。此查询:
SELECT purchase_authorizer_api.get_userid('30',(select authorize_id from purch_authorize_group_line where authorize_group_id = '30-QA-NUC')) FROM DUAL;
returns错误"ORA-01427: single-row subquery returns more than one row."
所以,我想知道的是,是否有办法将第一个查询中的所有 50 个值传递到第二个查询中,并获取所有 50 个用户的 USERID。如果是这些 USERID,那么当 QA 组准备好批准 PO 时,我可以收到一封通知电子邮件。
也许您正在寻找这个。
SELECT purchase_authorizer_api.get_userid('30', authorize_id)
FROM purch_authorize_group_line
WHERE authorize_group_id = '30-QA-NUC';
这应该有帮助 -
DECLARE
V_VARIABLE VARCHAR2(1024);
BEGIN
FOR REC IN (SELECT AUTHORIZE_ID AS VAL FROM PURCH_AUTHORIZE_GROUP_LINE WHERE AUTHORIZE_GROUP_ID = '30-QA-NUC')
LOOP
SELECT PURCHASE_AUTHORIZER_API.GET_USERID('30',R.VAL) INTO V_VARIABLE FROM DUAL;
..
..
../* You code processing logic */
END LOOP;
END;
/