我想了解如何在Oracle中的另一个存储过程中调用存储过程。
例如:在Server存储过程中,
CREATE PROCEDURE P2
.
.
.
DECLARE v_Id INT
EXEC P1 v_Name, v_Id OUTPUT
v_Name
和v_Id
都可以在过程P1中使用。
如何在Oracle中调用相同的
发布于 2013-10-05 21:04:42
就像你想要的那样
CREATE OR REPLACE PROCEDURE p2
AS
-- Do not use the `DECLARE` keyword
-- Variables must be defined at the top of the block
v_id pls_integer;
BEGIN
<<do stuff>>
-- Just call the procedure. No need for `EXEC`.
-- There is also no need to indicate that a parameter is an OUT parameter in the call
p1( v_name, v_id );
END;
一些需要注意的事情
AS
和BEGIN
之间)定义的,而不是内联定义的。您可以在您的过程中创建嵌套的PL/SQL块,其中声明的变量的作用域只是嵌套块,而不是过程,但我在这里忽略了这种可能性。OUT
参数(或IN OUT
)。这是由您调用的过程定义的。https://stackoverflow.com/questions/19201596
复制相似问题