如果是8i以下版本的话,只能用:
1、create table temp(....s4,s3,...) as select ...s3,s4,....from...
2、drop table 旧表
3、create table 旧表名 as select * from temp

解决方案 »

  1.   

    楼上的第三步可以这样
    3、rename temp to oldtbname;
      

  2.   

    oracle 文档:Rename a Database Object Example To change the name of table dept to emp_dept, issue the following statement:
        RENAME dept TO emp_dept;
    You cannot use this statement directly to rename columns. However, you can rename a column using this statement together with the CREATE TABLE statement with AS subquery. The following statements re-create the table static, renaming a column from oldname to newname:
      CREATE TABLE temporary (newname, col2, col3)
        AS SELECT oldname, col2, col3 FROM static;
      DROP TABLE static;
      RENAME temporary TO static;