ORA-00955:名称已被pl / sql中的现有对象使用

时间:2018-08-28 09:15:32

标签: oracle plsql

create or replace procedure temp
is
  procedure sam
  is
  begin
    dbms_output.put_line('This is from sample');
  end;
begin
  dbms_output.put_line('This is from test');
end;
/

begin
  temp;
end;
/

2 个答案:

答案 0 :(得分:3)

该错误表明名为temp的对象已经存在,因此无法创建另一个对象。

例如,假设您已经有一个名称如下的表:

SQL> create table temp (a number);

Table created.

如果您尝试构建过程,则会得到:

SQL> create or replace procedure temp
  2  is
  3    procedure sam
  4    is
  5    begin
  6      dbms_output.put_line('This is from sample');
  7    end;
  8  begin
  9    dbms_output.put_line('This is from test');
 10  end;
 11  /
create or replace procedure temp
*
ERROR at line 1:
ORA-00955: name is already used by an existing object

这是一种检查此类对象是否存在的方法:

SQL> select object_type from obj where object_name = 'TEMP';

OBJECT_TYPE
-------------------
TABLE

答案 1 :(得分:2)

您使用对象的现有名称(在您的情况下,该名称为 temp )。 更改此名称。

您可以通过以下方式找到对象名称:

select * from USER_OBJECTS
where object_name = 'TEMP'
;