我有一个要求,我必须设计两个过程。第一个过程将生成一个输出变量值,然后第二个过程将用于执行其任务。我在下面的代码中给出了同样的场景
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。 我该怎么办,请帮助我。我不能分享为什么给出场景的代码。
答案 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;