select count(*) into int_int from PAN_IntegralSpoilSet i where i.activitycid=cid and i.spoilid = SPOILID;
我调试的时候 这个Int_int = 37
我很疑惑 但是我再到SQL 窗体里面运行的时候只有 1条记录啊
就因为这个 所以老是 ORA-01422: 实际返回的行数超出请求的行数!求救!!
我调试的时候 这个Int_int = 37
我很疑惑 但是我再到SQL 窗体里面运行的时候只有 1条记录啊
就因为这个 所以老是 ORA-01422: 实际返回的行数超出请求的行数!求救!!
解决方案 »
- 用pl/sql写存储过程,急,大虾帮忙啊!
- plsql 小问啼
- ORACLE修改端口
- 紧急救助这个sql的写法,谢谢
- 在oracle中,如何编写一个函数实现十进制和二进制的转换
- 如果在视图中使用了自定义函数和自定义数据类型,那么在导入数据库时会报警告
- OracleOraHome9TNSListener无法保持启动状态!!!
- PLS-00553: 无法识别字符集名称?
- 谁能给我解释一下这个Sql语句:Select Count(*) AllNum From tXX Where 1 = 1
- Oracle所有密码都忘记 怎么解决?
- table类型的数据如何进行清空
- error while trying to retrieve text for error ORA-12154
(select * from PAN_IntegralSpoilSet i where i.activitycid=cid and i.spoilid = SPOILID;
)这样就搞定了!!
(select * from PAN_IntegralSpoilSet i where i.activitycid=cid and i.spoilid = SPOILID
) ;
select count(*)as int_int from
(select * from PAN_IntegralSpoilSet i where i.activitycid=cid and i.spoilid = SPOILID
) ;
为了保险起见,觉得把count(*) 放在外面的。select num into int_int
from (
select count(*) as num
from PAN_IntegralSpoilSet i
where i.activitycid=cid
and i.spoilid = SPOILID
)a;
检查这两个值
还有能不能具体点描述,是pl/sql和sql运行结果不一样?
我上面定义了 一个 integralset PAN_INTEGRALSPOILSET%rowtype;
我想返回这条记录
但是一到那里就报错!
我是这样写的 select * into integralset from
(select * from PAN_IntegralSpoilSet i where i.activitycid=cid and i.spoilid = SPOILID);
PL/SQL
那你就定义一个游标,把这些记录全部dbms_output出来看看
cid和spoilid值两边一致吗
(select * from PAN_IntegralSpoilSet i where i.activitycid=cid and i.spoilid = SPOILID);
SQL: select * from (select * from PAN_IntegralSpoilSet i where i.activitycid=cid and i.spoilid = SPOILID);
他们的结果不一样!
这两个字段在 PAN_IntegralSpoilSet 里面是两个 ID
你将这两个参数替换成具体的值在pl/sql和sql中分别运行再比较下结果吧
是因为 我的参数命名规范问题
表中有一个字段 和 spoilid 同名 我重新变了一下 ok了! 谢谢 大家!