请问oracle怎么执行存储过程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问oracle怎么执行存储过程相关的知识,希望对你有一定的参考价值。

语法是什么:
exec 存储过程名(参数)
execute 存储过程名(参数)
存储过程名(参数)
都不行,到底怎么调用啊

使用oracle调用存储过程得方式和plsql不一样,下面给你个调用例子
过程调用方式一

declare
realsal emp.sal%type;
realname varchar(40);
realjob varchar(40);
begin //存储过程调用开始
realsal:=1100;
realname:='';
realjob:='CLERK';
runbyparmeters(realsal,realname,realjob); --必须按顺序
DBMS_OUTPUT.PUT_LINE(REALNAME||' '||REALJOB);
END; //过程调用结束

过程调用方式二

declare
realsal emp.sal%type;
realname varchar(40);
realjob varchar(40);
begin //过程调用开始
realsal:=1100;
realname:='';
realjob:='CLERK';
runbyparmeters(sname=>realname,isal=>realsal,sjob=>realjob); --指定值对应变量顺序可变
DBMS_OUTPUT.PUT_LINE(REALNAME||' '||REALJOB);
END; //过程调用结束
参考技术A 我试验过了,就是exec 存储过程名或者execute 存储过程名(参数),请你在仔细确认一下,你的存储过程名写没写对呀,或者你没有进入sqlplus中?

----
以上,希望对你能有帮助。本回答被提问者采纳
参考技术B 这得看你是要在哪里调用了,如果在sql/plus,或者PLSQL Developer里的话可以直接exec 包名.过程名(参数),如果是在java程序里调用的话就是conn.prepareCall("call 包名.过程名(?,?,?,?,?,?,?,?,?,?)")了,如果是其他的语言的话旧另当别论了 参考技术C DECLARE
in_变量 VARCHAR2(100);
out_变量 VARCHAR2(100);
BEGIN
in_变量 := '???';
exec 存储过程名(in_变量,out_变量);

END;
参考技术D sqlplus里用exec就可以

怎么知道 oracle存储过程是不是执行完

参考技术A 使用第三方软件执行存储过程后软件会有所提示:
---比如SQL
Navigator
在执行存储过程后,运行按钮恢复可点状态,这就代表存储过程通过并成功执行;您可以调用查询您执行的存储过程中的语句看看值都正常否。
---比如PL/SQL
这个执行后软件会提示
"
procedure
successfully
completed"这样就代表执行成功;

以上是关于请问oracle怎么执行存储过程的主要内容,如果未能解决你的问题,请参考以下文章

请问,我用报表调用的oracle数据库的数据存储过程乱码是啥原因啊?

PLSQL 表备注,存储过程里的中文都显示乱码,请问怎么处理?

delphi客户端调用存储过程返回参数,请问怎么解决

请问各位大侠:oracle的存储过程返回值如果有0.2等这类小数时,为何前面的0会不显示,如何解决

怎么知道 oracle存储过程是不是执行完

oracle 如何终止存储过程的运行!