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

代码:SQL>createorrepalaceprocedure2student2(studentnonumber)3as4studentnamevarchar2(20)... 代码:
SQL> create or repalace procedure
2 student2(studentno number)
3 as
4 studentname varchar2(20);
5 begin
6 select name into studentname from student where ID=studentno;
7 DBMS_OUTPUT.PUT_LINE('学生姓名是'||studentname);
8 exception
9 when no_data_found then
10 DBMS_OUTPUT.PUT_LINE('雇员编号未找到');
11 end student2;
12 /
create procedure
*
ERROR 位于第 1 行:
ORA-00955: 名称已由现有对象使用

查过过程对象没有同名过程啊,请问大侠们是什么原因啊?求解
展开
 我来答
badkano
推荐于2017-10-10 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885374
团长

向TA提问 私信TA
展开全部

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

解决方法:

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

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

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

奔驰M888
2009-06-28 · TA获得超过1.1万个赞
知道大有可为答主
回答量:1846
采纳率:0%
帮助的人:2714万
展开全部
【ORA-00955: 名称已由现有对象使用】
这个错误说的不仅仅是有可能你有存储过程使用了【student2】,还有可能是你有表名叫【student2】或者其他oracle对象叫【student2】。

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

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

---
以上,希望对你有所帮助。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式