首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Oracle中的另一个存储过程中执行存储过程

在Oracle中的另一个存储过程中执行存储过程
EN

Stack Overflow用户
提问于 2013-10-05 19:04:37
回答 1查看 2.1K关注 0票数 1

我想了解如何在Oracle中的另一个存储过程中调用存储过程。

例如:在Server存储过程中,

代码语言:javascript
运行
复制
CREATE PROCEDURE P2
.
.
.
DECLARE v_Id INT

EXEC P1 v_Name, v_Id OUTPUT

v_Namev_Id都可以在过程P1中使用。

如何在Oracle中调用相同的

EN

回答 1

Stack Overflow用户

发布于 2013-10-05 21:04:42

就像你想要的那样

代码语言:javascript
运行
复制
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;

一些需要注意的事情

  • 变量是在块的顶部( ASBEGIN之间)定义的,而不是内联定义的。您可以在您的过程中创建嵌套的PL/SQL块,其中声明的变量的作用域只是嵌套块,而不是过程,但我在这里忽略了这种可能性。
  • 在PL/SQL中,您不需要任何关键字来指示过程调用。就这么说吧。
  • 您不需要指示参数是OUT参数(或IN OUT)。这是由您调用的过程定义的。
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19201596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档