我在一個存儲過程中有這麼一條語句:
  select npf_code into sNPF_Code from ac_sys where com_id=tCom_ID and recno=1;
tCom_ID是過程的in參數,運行時報錯,說:沒有找到資料, 但根據tCom_ID的值肯定有記錄的。
為什麼會有這樣的問題?請高手指點!我剛接觸oracle,問題簡單,莫笑啊!

解决方案 »

  1.   

    procedure YearEnd(
    tCom_ID in character,
    tAccountYear IN INTEGER, 
    tYearEndType IN INTEGER, 
    tNPVoucher IN character, 
    tReturn OUT integer)
    as 
       sNPF_Code character;
       nStartMonth number;
       sBaseCurrency character;
       nNewYear number;
       sPeriod character;
       sNPVou character;
       sVouYear character;
       sVouMonth character;
       nCount number;
       dVouDate date;
       nCompNum number;
       nDtlLine number;
       nDAmt number;
       nCAmt number;
       sTempVou character;
       sDr_Cr character;
       sAcctCurr character;
       dExchgRate number;
    begin
         tReturn := 99;
         sNPF_Code := '';     select npf_code into sNPF_Code from ac_sys where com_id=tCom_ID and recno=1; //此處報錯
         IF sNPF_Code is null THEN
             tReturn := 13;
             RETURN;
         END IF;          
         tReturn := 0;
         return;
    end YearEnd;