簡體   English   中英

PLS-00201在Oracle中運行存儲過程時出錯

[英]PLS-00201 Error when running stored procedure in Oracle

我最近為我的一個項目轉移了oracle數據庫。 我創建了一個存儲過程,用於從數據庫中選擇多行。 以下是我的程序

create Or replace
PROCEDURE TEST(p_cursor OUT SYS_REFCURSOR) AS

BEGIN
open p_cursor FOR select * from branch_info;
END TEST;

當我執行此過程時,出現以下錯誤:

      *
ERROR at line 1:
ORA-06550: line 1, column 7:
PLS-00201: identifier 'SAURAV.TEST' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored

我已經搜索了它,並在這里發現了類似的問題但是錯誤行和原因不同。

任何人都可以幫助我解決這個問題。

編輯:錯誤測試與文本

問題在於關鍵字測試

CREATE OR REPLACE PROCEDURE test (p_cursor OUT sys_refcursor)
AS
BEGIN
    OPEN p_cursor FOR
        SELECT  *
          FROM  branch_info;
END test;

並執行

variable rc refcursor;

exec test( :rc );

print rc;

ORA-06550: line 1, column 7:
PLS-00201: identifier 'TEST' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored

改成其他名字

CREATE OR REPLACE PROCEDURE test2 (p_cursor OUT sys_refcursor)
AS
BEGIN
    OPEN p_cursor FOR
        SELECT  *
          FROM  branch_info;
END test2 ;

執行為

variable rc refcursor;

exec test2 ( :rc );

print rc;

PL/SQL procedure successfully completed.

從SQL加

SQL> variable usercur refcursor;
SQL> DECLARE
  2  BEGIN
  3  test2(:usercur);
  4  end;
  5  /

PL/SQL procedure successfully completed.

SQL> print usercur;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM