2013-10-28 52 views
0

我已經創建了一個存儲過程,並且沒有任何錯誤地成功編譯它。但是,當我在惱人的塊中調用它時,它將返回一條錯誤消息PLS-00201: identifier 'DUE_FOR_RAISE' must be declared。 什麼似乎是錯的?程序調用有問題嗎? 這是我過去稱爲過程: BEGIN due_for_raise('Austin'); END;Oracle PL/SQL:使用參數調用存儲過程

回答

1

這是因爲你引用了你的過程名稱(從不這樣做)。你需要用引號和完全相同相同的外殼中調用它,你用來命名程序,那麼:

BEGIN 
    "due_for_raise"('Austin'); 
END; 

不帶引號的名稱。如果是比較容易放棄舊的程序,並重新創建它。

要從文件引用上Database Object Names and Qualifiers

Oracle不建議使用帶引號的標識符的數據庫對象名稱。這些帶引號的標識符被SQL * Plus接受,但在使用其他管理數據庫對象的工具時可能無效。

+0

我從來沒有想過這會很重要,因爲APEX會自動添加到我創建的每個過程中。無論如何,非常感謝! – Wabbit