如何调用oracle过程和另一个过程中的函数

如何调用oracle过程和另一个过程中的函数,oracle,function,stored-procedures,plsql,Oracle,Function,Stored Procedures,Plsql,我有一个情况,我需要做以下事情 步骤1:使用给定的输入值调用一个过程,并获得2个输出值 步骤2:使用输入参数和步骤1(过程调用)的一个输出值调用函数 步骤3:从步骤2的返回值中提取输出值 请帮助,如何处理这种情况 感谢您提供了一个非常基本的示例,包括组合变量名、数据类型(为简单起见,所有数字)以及过程/函数名和签名: create or replace procedure wrapper_proc as -- define local variables; use appropriate d

我有一个情况,我需要做以下事情

步骤1:使用给定的输入值调用一个过程,并获得2个输出值

步骤2:使用输入参数和步骤1(过程调用)的一个输出值调用函数

步骤3:从步骤2的返回值中提取输出值

请帮助,如何处理这种情况


感谢您提供了一个非常基本的示例,包括组合变量名、数据类型(为简单起见,所有数字)以及过程/函数名和签名:

create or replace procedure wrapper_proc as
  -- define local variables; use appropriate data types!
  l_input_1 number;
  l_input_2 number;
  l_output_1 number;
  l_output_2 number;
  l_result number;
begin
  -- Step1: Call a procedure with the given input values and get the 2 output values.
  l_input_1 := 42;
  l_input_2 := 128;
  your_proc (l_input_1, l_input_2, l_output_1, l_output_2);
  -- l_output_1 and l_output_2 are not set by that first procedire

  -- step2: Call the function with input parameters along with one of the output value from Step1(procedure call)
  -- assuming same two original inuts, and one of the procedure outputs...
  l_result := your_func (l_input_1, l_input_2, l_output_2);

  --Step3: Extract the output value from the return value of Step2.
  -- do something unspecified with l_result
  dbms_output.put_line('Final result was: ' || l_result);
end;
/
或者,如果要将输入值传递到该包装程序中:

create or replace procedure wrapper_proc (
  -- arguments; use appropriate data types!
  p_input_1 number,
  p_input_2 number
) as
  -- define local variables; use appropriate data types!
  l_output_1 number;
  l_output_2 number;
  l_result number;
begin
  -- Step1: Call a procedure with the given input values and get the 2 output values.
  your_proc (p_input_1, p_input_2, l_output_1, l_output_2);
  -- l_output_1 and l_output_2 are not set by that first procedire

  -- step2: Call the function with input parameters along with one of the output value from Step1(procedure call)
  -- assuming same two original inuts, and one of the procedure outputs...
  l_result := your_func (p_input_1, p_input_2, l_output_2);

  --Step3: Extract the output value from the return value of Step2.
  -- do something unspecified with l_result
  dbms_output.put_line('Final result was: ' || l_result);
end;
/

提取输出值。。。第二步的输出是SDO_几何类型,我只需要提取纬度和经度,这是我期望的输出值。谢谢你的回复。有什么方法可以把我的代码发布到这里吗?@Edu-你可以(而且通常应该)在这里包含代码。(并且是可读的;并且说明它有什么问题。另请参见:如何创建。)也就是说,您遇到问题的代码;如果您现在已经能够解决您的问题,那么您不应该发布您现在正在工作的代码。