2
我在執行Oracle中的存儲過程時遇到問題。Oracle存儲過程中的錯誤
下面是存儲過程:
CREATE OR REPLACE Procedure xxxlist
(yyyid in NUMBER)
IS
xid number(6);
cursor c1 is select distinct xxxID from MXS.Y where YID=yyyid;
BEGIN
IF NOT c1%ISOPEN THEN
OPEN c1;
END IF;
LOOP
FETCH c1 into xid;
dbms_output.put_line(TO_CHAR(xid));
EXIT WHEN c1%NOTFOUND;
END LOOP;
CLOSE c1;
END;
當我創建存儲過程,我得到以下錯誤:
Warning: Procedure created with compilation errors.
我執行下面的命令給我提供更多的細節以上抽象的錯誤信息。
SHO ERR;
我得到的詳情如下響應上面的命令:
Errors for PROCEDURE XXXLIST:
LINE/COL ERROR
-------- -----------------------------------------------------------------
5/18 PL/SQL: SQL Statement ignored
5/52 PL/SQL: ORA-00942: table or view does not exist
現在,據我所知,沒有與表名或SQL查詢本身有問題。所以,我嘗試在PRODECURE之外單獨執行SQL查詢,以查看與表或查詢有什麼關係。
select distinct xxxID from MXS.Y where YID=yyyid;
但是,我沒有發現上述查詢的任何問題。查詢運行良好,我得到正確的結果。
所以,我不知道爲什麼程序執行時遇到問題。誰能幫忙?