创建oracle 过程时提示 名称已由现有对象使用

2024-12-17 18:38:06
推荐回答(2个)
回答1:

这种情况是因为数据库中已经存在同名的存储过程或者其他对象(object)等造成。

解决方法:

1、确定原有名称的存储过程是否有用,如果有用,可为自己的新存储过程重新定义名称。

2、如果确定原有的存储过程无用,在创建新的同名存储过程时可用create or replace 来解决。

如,目前数据库中存在一个叫P_TEST的存储过程,如果确定无用,执行时可按如下方法:

回答2:

【ORA-00955: 名称已由现有对象使用】
这个错误说的不仅仅是有可能你有存储过程使用了【student2】,还有可能是你有表名叫【student2】或者其他oracle对象叫【student2】。

说明:其实由于你已经使用了【create or repalace procedure】即使有存储过程叫【student2】也会被覆盖掉,你用下面的命令查询一下,有什么对象叫【student2】,删掉它或者换一个存储过程名字。

【SELECT OBJECT_NAME,OBJECT_TYPE FROM USER_OBJECTS WHERE OBJECT_NAME='STUDENT2';】

---
以上,希望对你有所帮助。