我在使用oracle数据库创建表的时候遇到下面的问题: 
在创建一张新表的时候同时生成和这个表名相同的但字母为小写的表, 
如我要创建的表叫“SYS_USER”, 
创建完成后刷新Tables发现同时生成了一个“sys_user”, 
而删除“sys_user”的时候“SYS_USER”也会被删除,但不影响“SYS_USER”的添加删除操作。 如果哪位仁兄遇到过类似的问题,还请不吝赐教,谢谢! 

解决方案 »

  1.   

    其实就是一个表呀 建表的时候表名是不区分大小写的 
    查看表结构desc sys_user和desc SYS_USER是一样的效果 
      

  2.   

    表名不区分大小写的啊。你用创建表的用户,登录sqlplus,执行
    select table_name from user_tables where upper(table_name) like "%SYS_USER%"; 
    看看有几条记录?
      

  3.   

    你用的什么工具啊? 估计是你的工具的问题。如果你是用的sqlplus 则贴出来看一下。
      

  4.   

    Oracle中表名不区分大小写。 
    刷新的时候生成sys_user表!
    在Tables下能同时出现SYS_USER和sys_user吗?
    照常不可能啊,
    估计是工具的问题!
      

  5.   

    谢谢各位兄弟,问题找到了,是我们这面有个小兄弟在建表的时候在表名上加了双引号,这样建表就会区分大小写,但我删除的时候直接用pl/sql右键删除,结果系统认为删除的是名称为大写的那个表,而实际小写的表并没删掉,我通过 drop table "table_name"(注意在表名上加双引号)成功删掉了那个表!