“ORA-00955: 名称已由现有对象使用” 这个错误是怎么回事?

adventurous 2011-08-18 10:52:19
我在oracle数据库中用如下语句进行建表操作,然后弹出如题目的错误框信息“ORA-00955: 名称已由现有对象使用”,该怎么解决?
create table students (student_id number constraint pk_student primary key, student_name varchar2(10) not null,
subject varchar2(20), score number constraint chk_score check (score between 0 and 100) not null)

...全文
95985 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
shu35 2012-03-06
  • 打赏
  • 举报
回复 1
创建表时,如果报ORA-00955名称已由现有对象使用
但select时候,又查不到。
还有可能。同义词重名了。
在Synonyms(Oracle数据库,PL/SQL Developer 工具)条目下。 查看是否存在同义词。
有的话将同义词删除就可以了。
bijanen19861113 2011-08-19
  • 打赏
  • 举报
回复
提示有已使用的,肯定是重名啦,仔细检查出来就好,机器是不会骗人的,呵呵
chenxiaoVSyinqiuli 2011-08-19
  • 打赏
  • 举报
回复
不一定是表重名,也可能keys的name呀,checks的name呀,indexes的name呀。这些貌似都不能重名
adventurous 2011-08-18
  • 打赏
  • 举报
回复
真是奇怪!我把以前创建的表student(和现在相差一个字母s)删除,就可以插入了,不知道是为什么
adventurous 2011-08-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 cbxjj 的回复:]

你这个sql在我本机创建一个问题都没有
你先drop table students;
删掉再建试试
[/Quote]
执行后显示表或视图不存在
adventurous 2011-08-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 softroad 的回复:]

select table_name from user_tables where table_name = 'STUDENTS';
区分大小写不,要不直接先delete table students
[/Quote]
显示ORA-00903:表名无效
剑神一笑 2011-08-18
  • 打赏
  • 举报
回复
你这个sql在我本机创建一个问题都没有
你先drop table students;
删掉再建试试
softroad 2011-08-18
  • 打赏
  • 举报
回复
select table_name from user_tables where table_name = 'STUDENTS';
区分大小写不,要不直接先delete table students
adventurous 2011-08-18
  • 打赏
  • 举报
回复
我上网搜了下好像是说我有重名的列,但我用如下语句搜过后是没有的
select table_name from user_tables where table_name = 'STUDENTS';

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧