在Select语句中调用过程

时间:2018-03-12 22:27:20

标签: oracle

我有一个包含功能和程序的包

CREATE OR REPLACE PACKAGE BODY schema.pkg_product as     
function xxxxx()
procedure  product_get(p_product_id    IN  Number,    
P_direct_balance Out Number,    
P_indirect_balance Out Number) IS    
v_request CLOB :=<soapenv:Envelope xmnlns:----->    
v request_end varchar(100) := <can:----->    
BEGIN    
   Selct statement     
END

我的问题是我们可以在select语句中调用该过程吗?如何获取P_direct_balanceP_indirect_balance。如果是这样,在select查询中,我想从过程中检索那些数据。

2 个答案:

答案 0 :(得分:0)

这是不可能的。您可以编写一个函数,但不能在SQL中使用带有out参数的函数。因此,您必须重写代码。例如,创建两个返回p_direct_balance和p_indirect_balance的函数。

答案 1 :(得分:0)

如果无法将过程重写为带有out参数的函数,我建议更改过程以将相关值写入临时表并提交。然后使用select语句从临时表中检索值。