我在创建表的时候不知道level是关键字,不小心创建了 这样一个表,等我发现想删除的时候,用sqlplus删除,直接提示表或者视图不存在,尝试用SQL语句,drop table level 也还是不行
请大家帮下忙,谢谢啦

解决方案 »

  1.   

    begin
    execute immediate 'drop table level';
    end;
    /看看这个可以不
      

  2.   

    看下你的表名大小写是什么样的
    select table_name from user_tables where upper(table_name)=upper('level')
    查询出表名
    然后按照查出来的大小写来
    drop table "XXX"
    如果没有查询结果,则该表不在该用户模式下,或者不存在。已删除或没创建成功吧
      

  3.   


      我的表名是大写LEVEL
    使用你的方法
    select LEVEL from user_tables where upper('LEVEL')=upper('level') 
    就查出一列,列名为LEVEL,但是没有数据,这表明什么意思,
    然后Drop table 'LEVEL',还是报表名无效我也刚刚接触不久,希望楼上的大哥能够指点下
      

  4.   

    用 drop table [level] 试试
      

  5.   

    是让你
    select table_name from user_tables where upper(table_name)=upper('level') 
    不要把table_name替换成level
    可能你并没有创建成功这个表吧
    如果没有在表名外面加双引号,应该创建会报错的
      

  6.   


    按你说的那样做了,查出有数据,为LEVEL,然后还是删除不掉,用[]也不可以
      

  7.   

    大写的LEVEL?
    drop table "LEVEL"
    注意是双引号