Stored procedures toad plsql执行存储过程时出错

Stored procedures toad plsql执行存储过程时出错,stored-procedures,plsql,toad,Stored Procedures,Plsql,Toad,没有明显的原因,我得到了这个错误: ORA-00942:表或视图不存在 在调试光标设置为第行时: SELECT AMD.MSG_DATE 从以下存储过程: CREATE OR REPLACE PROCEDURE CTI_MATRIX.AMD_NEEDMSG (v_CRN IN VARCHAR2) IS return_flag INTEGER; row_cnt INTEGER; number_of_days INTEGER; var_DATE DATE; CURSOR ACCNTSEARC

没有明显的原因,我得到了这个错误:

ORA-00942:表或视图不存在

在调试光标设置为第行时:

 SELECT AMD.MSG_DATE
从以下存储过程:

CREATE OR REPLACE PROCEDURE CTI_MATRIX.AMD_NEEDMSG (v_CRN IN VARCHAR2)
IS

return_flag INTEGER;
row_cnt INTEGER;
number_of_days INTEGER;
var_DATE DATE;

CURSOR ACCNTSEARCH (P_CRN IN VARCHAR2) IS
    SELECT AMD.MSG_DATE    
       FROM TBL_AMD_NEEDMSG AMD
      WHERE AMD.PHONE_NUMBER = P_CRN;

BEGIN

OPEN ACCNTSEARCH(v_CRN);
FETCH ACCNTSEARCH INTO var_DATE;
IF ACCNTSEARCH%NOTFOUND 
THEN
    row_cnt := 0;
ELSE
    row_cnt :=1;
END IF;
CLOSE ACCNTSEARCH;

IF (row_cnt = 0)
THEN
        INSERT INTO TBL_AMD_NEEDMSG (PHONE_NUMBER, MSG_DATE) VALUES (v_CRN , SYSDATE); 
        return_flag := 1;
ELSE
    SELECT SYSDATE-var_DATE INTO number_of_days FROM dual;

     IF (number_of_days>7)
    THEN 
        UPDATE TBL_AMD_NEEDMSG SET MSG_DATE = SYSDATE WHERE PHONE_NUMBER = v_CRN;
        return_flag := 1;
    ELSE
         return_flag := 0;
    END IF;

END IF;    

COMMIT;

dbms_output.put_line('result='||return_flag );    
EXCEPTION
WHEN OTHERS THEN
    ROLLBACK;
    --raise_application_error(-20001,'An error was encountered '||SQLERRM);


END AMD_NEEDMSG;
/
顺便说一下,通过以下调用块调用存储过程:

DECLARE 
 V_CRN VARCHAR2(32767);

BEGIN 
 V_CRN := '5457648547567';
 CTI_MATRIX.AMD_NEEDMSG ( V_CRN );
 DBMS_OUTPUT.Put_Line('');

 COMMIT; 
END;
非常困惑,因为表肯定存在,并且有以下声明:

SELECT AMD.MSG_DATE    
       FROM TBL_AMD_NEEDMSG AMD
      WHERE AMD.PHONE_NUMBER =  '85100000000';
在没有问题的情况下获取记录集结果


请帮忙

您的方案是否与CTI_矩阵相同? 我的意思是,您是否在CTI_MATRIX用户下运行select,因为我看到您在这个方案中创建了存储过程。
祝你好运

可能错误不是由于你所在的特定行引起的,但蟾蜍正在尝试执行某些查询?尝试运行TOAD的SQL监视器或SQL跟踪器并监视TOAD.exe。它将捕获toad正在进行的所有SQL调用,也许您可以看到错误的来源。是的,这是toad的问题,在调试模式下运行。发生这种情况的代码行在游标声明中。单击几下OK后,按摩消失,执行按预期继续,逐行进行。无论如何,谢谢你。但有趣且误导性很强的行为。