有个郁闷问题。。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;

解决方案 »

  1.   

    ORA-01403:未找到数据 你的查询没有返回结果,你说值正常也没有用
      

  2.   

    --RptID是传进来的参数,如果直接等于参数值就不会报错,且有值,如下。
    Select ITEMCODE, TYPECODE INTO ICode, TCode From t_MyTab Where SysID = 'A123' and rownum<2 Order by SysId;
      

  3.   

    我也遇到了这样的问题:
    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