创建的过程有编译错误,没有得到帮助

Procedure created with compilation errors , not getting help in it

CREATE OR REPLACE PROCEDURE fetch( data OUT SYS_REFCURSOR)
    AS
    BEGIN
      OPEN data  FOR SELECT * FROM user_errors;
    END;
/





 Procedure created with compilation errors.

我试过了但不明白为什么我会收到这样的错误,即使在互联网上的许多例子中我也遵循相同但没有得到帮助 Oracle 19c 版本

FETCH是PL/SQL中的保留字。为您的存储过程使用另一个名称。

你看到错误

select * from user_errors;

在你的情况下你得到:

NAME TYPE SEQUENCE LINE POSITION TEXT ATTRIBUTE MESSAGE_NUMBER
FETCH PROCEDURE 1 1 11 PLS-00103: Encountered the symbol "FETCH" when expecting one of the following: current delete exists prior ERROR 103

当用另一个名字编译包时,你会得到另一个错误:-) 因为CURSOR 不是数据类型。请改用 SYS_REFCURSOR

演示:https://dbfiddle.uk/?rdbms=oracle_18&fiddle=33d92c7ed3d254f672affd57bd66dbdd