如何使用一个过程输出变量数据到另一个过程

时间:2015-09-21 17:17:13

标签: oracle stored-procedures

我有一个要求,我必须设计两个过程。第一个过程将生成一个输出变量值,然后第二个过程将用于执行其任务。我在下面的代码中给出了同样的场景

create procedure existingProc(

begin
    insert statementprogramming statement

);


create procedure MyProc(

begin
    call existingProc();
    -- Exsisting procedure return some value 
    -- and this value is used in MyProc 

commit;
);

在上面的代码中,existingProc已经存在于系统中,我无法更改它。在过程事务中,事务开始但未提交。此过程生成一个值作为输出参数,MyProc将使用此值。 我希望在执行existingProc之后,MyProc过程应该获取值,但它没有发生并且它给出了null。 我该怎么办,请帮助我。我不能分享为什么给出场景的代码。

1 个答案:

答案 0 :(得分:0)

这是否有助于阐明如何在另一个过程中使用一个过程的输出参数?

create procedure ExistingProc(output1 out number) is
begin
  insert into someTable values ('some values')
  RETURNING someCol INTO output1;
end;

create procedure MyProc(args ....) is
  Result1 number;  --output from existingProc
begin
  ExistingProc(result1);
  -- Use Result1 as needed
  Update stuff ...
  where id = Resutl1;
  commit;
end;