[英]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.