oracle数据库调用存储过程

Posted

tags:

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

参考技术A 这个需要分情况的
如果是在应用程序(Java等)中调用存储过程,需要根据相应语言的语法来进行。这个可以通过查找相应语言的帮助来找到。
如果是在Oracle的其他存储过程中调用,直接写存储过程名就可以了。传入相应的参数,即可执行。
如果在Oracle的命令行中,使用EXEC
存储过程名(参数)
的方式即可调用。
如果存储过程执行的语句写在SQL文件中,则可以通过调用文件的方式执行,即
SQL>
@D:\SQL\example.sql的形式

oracle存储过程调用老出现错误,没数据

create or replace procedure test(smajor in varchar2,sname out varchar2) is
begin
select stu_name into sname
from student
where student.stu_major=smajor;
end test;

SQL> variable soname varchar2;
SQL> exec test('计算机科学与技术',:soname);

begin test('计算机科学与技术',:soname); end;

ORA-01403: 未找到任何数据
ORA-06512: 在 "SYSTEM.TEST", line 3
ORA-06512: 在 line 2
soname
---------
表里肯定是有东西的,因为用同样的sql语句和"计算机科学与技术"能查到东西,但是调用存储过程一直说未找到数据。。。

参考技术A 注意看一下是不是表里的数据后面有空格 参考技术B 在 proecedue里面,加一个异常处理的。 when others then sname := ‘XXXXX’看看这个能返回回来么。本回答被提问者和网友采纳

以上是关于oracle数据库调用存储过程的主要内容,如果未能解决你的问题,请参考以下文章

oracle存储过程调用老出现错误,没数据

多线程调用oracle存储过程是不是并发执行?

oracle存储过程中循环调用存储过程

在 navicat 连接的oracle中,调用存储过程 报错?

Oracle如何创建存储过程和如何调用存储过程

oracle 存储过程中调用存储过程