1
我想了解如何在Oracle的另一个存储过程中调用存储过程。在Oracle的另一个存储过程中执行存储过程
例如:在SQL Server存储过程,
CREATE PROCEDURE P2
.
.
.
DECLARE v_Id INT
EXEC P1 v_Name, v_Id OUTPUT
两个v_Name
和v_Id
是在步骤P1提供。
你怎么称呼同甲骨文
我想了解如何在Oracle的另一个存储过程中调用存储过程。在Oracle的另一个存储过程中执行存储过程
例如:在SQL Server存储过程,
CREATE PROCEDURE P2
.
.
.
DECLARE v_Id INT
EXEC P1 v_Name, v_Id OUTPUT
两个v_Name
和v_Id
是在步骤P1提供。
你怎么称呼同甲骨文
像这样的东西是你追求的
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
)。这是你所调用的程序定义的。