2014-09-25 98 views
1

您好我花了很多时间在Oracle 11g中搜索存储过程的执行。如果任何人都可以分享这个有用的答案。如何在Oracle中执行存储过程11g

Regards, Pranay。

+0

嗨@pranay,欢迎来到stackoverflow。我们有一个类似的问题,我建议你看看这里,http://stackoverflow.com/questions/13860935/execute-a-stored-procedure-in-oracle。 – 2014-09-25 15:16:39

回答

1

它不能不工作,如果我按F5它的工作,如果我想强调执行语句,右单击并按运行脚本选项。我从我的同事AK那里得到了帮助。例如:

例如:

var result1 refcursor; EXECUTE Schemaname.Tablename(param1,param2,:result1); 打印结果1

Regards, Pranay。

1

你跟execute称之为:

EXECUTE my_procedure ('arg1', 'arg2'); 
+0

...只有当你在SQL * Plus中做到这一点 – mustaccio 2014-09-25 15:00:46

+0

它不工作我得到了一个声明为参数的输入参数和一个输出游标。我传递了I/P参数,但是还需要传递o/p参数,如果我需要如何执行操作。 – pranay 2014-09-25 15:01:49

1

如果你的光标是一个REF CURSOR:

declare 
    lcsr sys_refcursor; 
begin 
    package.procedure(input => input_parameter_value, output => lcsr); 

    /* Do something with lcsr */ 
end; 
+0

请注意,上面的代码不是编译后的pl/sql过程。这是一个匿名块,可以直接在SQLPLUS或SQL Developer工作表中执行。这基本上是直接运行pl/sql脚本而不必编译它们的一种方法。 – ivanatpr 2014-09-25 15:32:47

0

我有同样的问题,我发现很多帖子没有答案。这是解决办法:

begin your_procedure; 结束;

0

试试这个家伙

BEGIN

PROCEDURENAME;

结束