写好的存储过程编译通过了,但测试的时候出错了
执行到一个select xxx1 into xxx2 from xxx3 where xxx4=xxx5;的语句时,抛出异常结束。
xxx2是我定义的变量,xxx5是输入参数
我在该存储过程中有3个这样连续的语句,第一个语句通过了,第二个语句抛出异常,但查看变量xxx2的值,已经设进去了。这3条语句单独拿出来按照select xxx1 from xxx3 where xxx4=常量的形式执行都正确,说明我的sql语句没有问题这3条语句中只有一条在测试存储过程时是没错的,其他两条总是抛出异常,无论他们怎么样的顺序排列后来,我写一个最简单的存储过程,里面就是有问题的一条sql语句,测试时,提示我:实际返回的行数超出请求的行数
可是,我单独执行这个查询语句查询出来的就只有一行啊,怎么会超出请求行数呢?
执行到一个select xxx1 into xxx2 from xxx3 where xxx4=xxx5;的语句时,抛出异常结束。
xxx2是我定义的变量,xxx5是输入参数
我在该存储过程中有3个这样连续的语句,第一个语句通过了,第二个语句抛出异常,但查看变量xxx2的值,已经设进去了。这3条语句单独拿出来按照select xxx1 from xxx3 where xxx4=常量的形式执行都正确,说明我的sql语句没有问题这3条语句中只有一条在测试存储过程时是没错的,其他两条总是抛出异常,无论他们怎么样的顺序排列后来,我写一个最简单的存储过程,里面就是有问题的一条sql语句,测试时,提示我:实际返回的行数超出请求的行数
可是,我单独执行这个查询语句查询出来的就只有一行啊,怎么会超出请求行数呢?
解决方案 »
- drop table 个别表极慢
- 关于oracle的自定义type的问题
- 关于连接的问题!
- oracle10g listener.ora tnsnames.ora sqlnet.ora 的配置问题 在线等,谢谢
- 关于oracle dblink的问题
- 求个sql??
- SQL语句求助.急.
- 数据显示问题,各位朋友请进
- 用pl/sql脚本时,出现ORA-20000:ORU-10027: buffer overflow, limit of 10000 bytes 错误?应如何解决?
- 登陆ORACLE MANAGEMENT SERVER出现问题
- ORA-12516:TNS:监听程序找不到符合协议堆栈要求的可用处理程序
- 数据库效率问题
我的那张表就两个字段,一共就3条数据,很简单,应该不会查出多条记录(而且3条记录都不重复)吧,明天去公司再看看
可是,我单独执行这个查询语句查询出来的就只有一行啊,怎么会超出请求行数呢?
是不是有空值呀? 先count下”
1.空值不显示么?也就是说,即使我看到的是显示一行,也不一定就真的是一行么?
2.我在网上查,有说加上rownum=1的条件就可以的,明天回公司试一试
DUMMY
-----
X
a
SQL> select count(*) from test;
COUNT(*)
----------
3你把空值过滤掉就OK了
测试的时候怎么测的?在过程里查询语句使用变量时,注意不要和字段名重名。编译是不会报错的,因为这不是语法问题,是逻辑问题