我已经通过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