oracle建表时提示名称已由现有对象使用。声明我删除了该表purge也有,desc该表没有任何信息,任有该错误

SELECT OBJECT_NAME,OBJECT_TYPE FROM USER_OBJECTS WHERE OBJECT_NAME='Teaching';也是没选中行,但新建就有错。
drop后有purge,desc也是“未选定行”,可就是建不了表

SELECT OBJECT_NAME,OBJECT_TYPE FROM USER_OBJECTS WHERE OBJECT_NAME='TEACHING';

oracle中,所有的对象名都必须是大写,你再看看,你这个TEACHING是什么东西

---补充---
你貌似建表语句有误
create table Teaching (tno number(6));

完整复制上一行,执行一下追问

create table Teaching(tno number(6),
cno varchar2(6),
language varchar2(10) check(language in('Chinese','Bilingual','English')),
primary key(tno,cno),
foreign key(tno) references Teacher(tno),
foreign key(cno) references Course(cno));
这是完整的

追答

你了,右上角

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-10
楼上说的有问题,oracle对象名并不一定是大写,估计你是用开发工具建表,建了个小写名称(或包含小写字母)的表,就导致你查大写查不到,但重建也建不了的情况.
你查一下用户的所有表,肯定有带小写字母的。
就是在建表的时候,使用了单引号,比如create table 'teaChing' ...
第2个回答  2013-05-10
select object_name,object_type from user_objects where object_name = upper('yourtablename');
相似回答