我建了一张表,建表时把下划线打成了- ,现在想drop掉,就报ORA 00933 SQL commend properly ended
咋整嘞

解决方案 »

  1.   


    你建表的语句是什么 是不是在表名加了个引号
    drop table "tablename"
      

  2.   

    你用的什么工具,是pl/sql dev 吗
      

  3.   

    恩 是用的pl/sql development,我先用powerdesigner建了张表,然后弄成sql语句,在pl/sql里运行的,但是表名中有个-符号,就不能drop了,其他的表是可以的
      

  4.   

    SQL> CREATE TABLE "t-1"
      2  (a NUMBER(2));
     
    Table created
     
    SQL> drop table t-1;
     
    drop table t-1
     
    ORA-00933: SQL command not properly ended
     
    SQL> drop table "t-1";
     
    Table dropped
     
    SQL> 
      

  5.   


    这个是说你在drop的时候同样和建表的时候加上引号。
    因为你在建表的时候加了引号,系统会把你的t-1看做是一个字符串,
    如果不加引号则不符合命名规范,t-1,则会被分开来对待。所以会报错
      

  6.   

    这跟PowerDesigner有关,在生成的sql语句中,都默认为表的名称加上了“”所以,在使用这个表时也要加上“”;如楼上说的系统会把你的t-1看做是一个字符串,
    如果不加引号则不符合命名规范,t-1,则会被分开来对待