把表test_t字段A之前的number类型修改为varchar2
修改方式:
1 创建temp_data varchar2(100) ,(字段名称,类型根据情况自定)。
2 把表字段A赋值到temp_data中,并行update。
3 把字段A清空,并行update。
4 modify A字段为 varchar2(100)。
5 把字段temp_data赋值到A,并行update。
6 把字段temp_data设置为unuse。
7 drop unuse字段。
示例:
CREATE TABLE test_t
(
a NUMBER)
;
ALTER TABLE TEST_t ADD temp_data VARCHAR2(100);
--开启并行
alter session enable parallel dml;
UPDATE /*+parallel(t 20) */ TEST_t t
SET t.temp_data=t.a ;
COMMIT;
UPDATE /*+parallel(t 20) */ TEST_t t
SET t.a=NULL;
COMMIT;
alter table TEST_T modify a varchar2(100);
UPDATE /*+parallel(t 20) */ TEST_t t
SET t.a=t.temp_data;
COMMIT;
--设置字段无效
ALTER TABLE test_t SET UNUSED (temp_data);
--删除无效字段
ALTER TABLE test_t DROP UNUSED COLUMN;
--查看无效字段是否删除
SELECT * FROM user_unused_col_tabs;