Oracle如何修改列的数据类型(二)

2014-11-24 09:26:07 · 作者: · 浏览: 1
MP 54 ---------- ---------- ---------- 55 zyt1 1 56 david 2 57 58 SQL> alter table zyt drop column ID_TEMP; 59 60 Table altered. 61 62 SQL> commit; 63 64 Commit complete. 65 66 SQL> select * from zyt; 67 68 NAME ID 69 ---------- ---------- 70 zyt1 1 71 david 2 72 73 SQL> desc zyt; 74 Name Null Type 75 ----------------------------------------- -------- ---------------------------- 76 NAME VARCHAR2(10) 77 ID NUMBER(10)

备注:第二种方法,是增加一个与被修改的列类型一样的列,之后将要修改列的数据复制到新增的列并置空要修改的列,之后修改数据类型,再从新增列将数据拷贝回来,该过程涉及两次数据复制,如果是数据量很多,会比较慢同时也会产生很多undo和redo;优点是数据不会发生行迁移。