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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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’看看这个能返回回来么。本回答被提问者和网友采纳

在安装SAP B1时候出现找不到存储过程的问题

是SQL2005数据库,怎么解决呢?

参考技术A 一般出现这个问题 有2个原因
1.你对应的数据库里确实没这个存储过程
2.你对应的数据库错了,你现在环境下的数据库 不是你建立你存储过程的数据库
3.代码出错追问

该如何建立这个过程呢?代码不会错的,别人都安装上了。第二个该如何解决?

追答

第二个问题 就是 你可以直接去后台数据库里面选择对应的数据库 看看里面有没你的过程
如果有 那就是代码调用问题了

追问

没有数据库,是否该建立一个?还有那个存储过程该怎么建立?

追答

这个存储过程 肯定是在一个数据库下的。。怎么可能没有数据库。。晕

追问

晕了,留个QQ吧,我这也搞不明白了。。

追答

424350157

本回答被提问者采纳
参考技术B 是不是你以前安装过?你去看一下注册表,有没其他程序挂起

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

oracle 存储过程 into 没找到数据 解决办法

在安装SAP B1时候出现找不到存储过程的问题

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

请问如何用c++ 调用oracle存储过程?

java调用oracle存储过程 关于sql里面in函数参数的问题

oracle存储过程输入参数能否为空