我已經通過SQL開發人員試圖簡單的存儲過程在Oracle 11g作爲:如何寫在Oracle 11g中的存儲過程
CREATE PROCEDURE P1 AS
BEGIN
DBMS.OUTPUT.PUT.LINE('WELCOME TO ORACLE');
END P1;
但還是我收到以下錯誤: ORA-00955:名稱已使用一個現有的對象
我不明白如何解決這個錯誤。誰能幫幫我嗎..?
我已經通過SQL開發人員試圖簡單的存儲過程在Oracle 11g作爲:如何寫在Oracle 11g中的存儲過程
CREATE PROCEDURE P1 AS
BEGIN
DBMS.OUTPUT.PUT.LINE('WELCOME TO ORACLE');
END P1;
但還是我收到以下錯誤: ORA-00955:名稱已使用一個現有的對象
我不明白如何解決這個錯誤。誰能幫幫我嗎..?
錯誤說明了這一切。您已經有一個名爲P1的存儲過程,因此要麼刪除現有的存儲過程,要麼爲此過程指定一個不同的名稱。要檢查程序已經存在使用此查詢:
SELECT *
FROM USER_PROCEDURES
WHERE object_name = 'P1'
或
SELECT *
FROM USER_OBJECTS
WHERE object_type = 'PROCEDURE'
AND object_name = 'P1'
有兩個問題:
首先,你可能已經保存,一旦該存儲過程。所以你不能創建它了,但不得不取代它。其次,寫入輸出的過程名稱拼寫錯誤。
那麼試試這個代碼:
CREATE OR REPLACE PROCEDURE P1 AS
BEGIN
DBMS_OUTPUT.PUT_LINE('WELCOME TO ORACLE');
END P1;
/
行..謝謝很多朋友..其實我曾經與SQL服務器工作,所以有不同的語法的oracle和sql server,所以也許我感到困惑.. 但感謝您的幫助.. :) – Aniket
錯誤消息是不言自明。您已經有一個名爲P1的過程,它告訴它不能創建具有相同名稱的另一個過程。 – cableload