存储过程中select into 语句 提示“ORA-01403:未找到数据”

WuChenCan 2007-09-13 05:40:30
有个郁闷问题。。

create or replace procedure pro_test
(RptID varchar2, rs out pkg_results.T_CURSOR)
is
begin
declare
TCode varchar2(18);
ICode varchar2(18);
begin
--RptID值正常,下面这句为什么提示“ORA-01403:未找到数据”
Select ITEMCODE, TYPECODE INTO ICode, TCode From t_MyTab Where SysID = RptID and rownum<2 Order by SysId;
end;
end;
...全文
2536 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
素小颜 2009-12-04
  • 打赏
  • 举报
回复
我也遇到了这样的问题:
CREATE OR REPLACEDURE ADDSTUSCORE
( P_XH IN XS.XH%TYPE,
P_KCM IN KC.KCM%TYPE,
P_CJ IN XS_KC.CJ%TYPE,
P_XF IN XS_KC.XF%TYPE)
AS
V_KCH KC.KCH%TYPE;
V_COUNT number;
begin
select KC.KCH into V_KCH from KC where KC.KCM=P_KCM;
select count(*) into V_COUNT from XS_KC where XS_KC.XH=P_XH and XS_KC.KCH=V_KCH;
if V_COUNT=1 then
update XS_KC
set XS_KC.CJ=P_CJ,XS_KC.XF=P_XF
where XS_KC.XH=P_XH and XS_KC.KCH=V_KCH;
else
insert into XS_KC values(P_XH,V_KCH,P_CJ,P_XF);
end if;
end;
当我执行execute ADDSTUSCORE('073245','操作系统',100,3);
结果:第 1 行出现错误:
ORA-01403: 未找到数据
ORA-06512: 在 "SYSTEM.ADDSTUSCORE", line 9
ORA-06512: 在 line 1
WuChenCan 2007-09-13
  • 打赏
  • 举报
回复
晕死,查了一个多小时原来是参数名和表字段名一样搞的鬼。
WuChenCan 2007-09-13
  • 打赏
  • 举报
回复
--RptID是传进来的参数,如果直接等于参数值就不会报错,且有值,如下。
Select ITEMCODE, TYPECODE INTO ICode, TCode From t_MyTab Where SysID = 'A123' and rownum<2 Order by SysId;
hongqi162 2007-09-13
  • 打赏
  • 举报
回复
ORA-01403:未找到数据

你的查询没有返回结果,你说值正常也没有用

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧