2016-04-28 73 views
1

我已經通過SQL開發人員試圖簡單的存儲過程在Oracle 11g作爲:如何寫在Oracle 11g中的存儲過程

CREATE PROCEDURE P1 AS 
BEGIN 
DBMS.OUTPUT.PUT.LINE('WELCOME TO ORACLE'); 
END P1; 

但還是我收到以下錯誤: ORA-00955:名稱已使用一個現有的對象

我不明白如何解決這個錯誤。誰能幫幫我嗎..?

+1

錯誤消息是不言自明。您已經有一個名爲P1的過程,它告訴它不能創建具有相同名稱的另一個過程。 – cableload

回答

1

錯誤說明了這一切。您已經有一個名爲P1的存儲過程,因此要麼刪除現有的存儲過程,要麼爲此過程指定一個不同的名稱。要檢查程序已經存在使用此查詢:

SELECT * 
    FROM USER_PROCEDURES 
WHERE object_name = 'P1' 

SELECT * 
    FROM USER_OBJECTS 
WHERE object_type = 'PROCEDURE' 
    AND object_name = 'P1' 
1

有兩個問題:

首先,你可能已經保存,一旦該存儲過程。所以你不能創建它了,但不得不取代它。其次,寫入輸出的過程名稱拼寫錯誤。

那麼試試這個代碼:

CREATE OR REPLACE PROCEDURE P1 AS 
BEGIN 
    DBMS_OUTPUT.PUT_LINE('WELCOME TO ORACLE'); 
END P1; 
/
+0

行..謝謝很多朋友..其實我曾經與SQL服務器工作,所以有不同的語法的oracle和sql server,所以也許我感到困惑.. 但感謝您的幫助.. :) – Aniket