CREATE TABLE temp AS SELECT * FROM distributors;
DROP TABLE distributors;
CREATE TABLE distributors AS SELECT * FROM temp;
DROP TABLE temp;

解决方案 »

  1.   

    更正:
    CREATE TABLE temp AS SELECT * FROM distributors;
    DELETE distributors;
    ALTER TABLE distributors ADD COLUMN address VARCHAR2(30);
    ALTER TABLE table DROP [ COLUMN ] column 
    CREATE TABLE distributors AS SELECT * FROM temp;
    DROP TABLE temp;
      

  2.   

    把字段往大改,也就是说改后的类型应该可以存储改前的数据,如number(8) 改成number(10)
      

  3.   

    create table test(col nvarchar2(20))
    /
    insert all
    into test(col) 
    into test(col) 
    into test(col) 
    into test(col) 
    select 'a' from dual
    /
    select * from test
    /
    create table temp as select * from test
    /
    truncate table test
    /
    alter table test modify (col varchar2(20))
    /
    insert into test select * from temp
    /
    drop table temp
    /
    select * from test
    /
    desc test
    /
    drop table test
    /