【舉例】 將PM_RISK_LAWSUIT 的 由NUMBER(10)修改為 VARCHAR(128)
當表中存在數據中,則不能直接修改列的數據類型
alter table RISK_LAWSUIT modify INITIATE_DEPT VARCHAR(128) ;
此時需要借助臨時列:
1、將原列名重命名為tmp列
alter table PM_RISK_LAWSUIT rename column INITIATE_DEPT to INITIATE_DEPT_TMP;
2、添加一個新列
alter table PM_RISK_LAWSUIT add INITIATE_DEPT varchar2(128)
3、將tmp列的數據copy到新列;
update PM_RISK_LAWSUIT set INITIATE_DEPT= to_char(INITIATE_DEPT_TMP)
4、刪除tmp列
alter table PM_RISK_LAWSUIT drop column INITIATE_DEPT_TMP