Oracle如何修改列的数据类型(二)
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;优点是数据不会发生行迁移。