代码如下:
try{
                stmt.executeUpdate("drop table CACH_HALL_SMS_PNFM");
            }catch(Exception e){
            }
            stmt.executeUpdate("create table CACH_HALL_SMS_PNFM" + date + " TABLESPACE PFM  as SELECT FROM    CACH_HALL_SMS_PNFM");问题:先执行了drop删除了表,后面怎么还能得该表的表空间呢?

解决方案 »

  1.   

    删除表后,表还在 RECYCLEBIN 这里,所以表空间没有被释放.
    drop后使用PURGE RECYCLEBIN清空回收站试试.
      

  2.   

    stmt.executeUpdate("create table CACH_HALL_SMS_PNFM" + date + " TABLESPACE PFM as SELECT FROM CACH_HALL_SMS_PNFM");这句话的意思是创建表格CACH_HALL_SMS_PNFM,使用表空间PFM,
    复制CACH_HALL_SMS_PNFM中的所有数据来创建新表。所以,这是有问题的。
    问题1:表格CACH_HALL_SMS_PNFM已经被drop掉了,不能再去select.
    问题2:语法有问题,正确的语法是
    create table your_tablename tablespace your_tablespace as select * from another_tablename;