修改表字段数据类型时问题:ORA-22859 无效的列修改
有一个表Test1有字段A、B,其数据类型分别是clob、varchar2(10)
alter table Test1 modify ( A varchar2(255) );-- clob 修改为 varchar2 Error 位于第一行 ORA-22859:无效的列修改
alter table Test1 modify ( B date );-- varchar2 修改为 date Error 位于第一行 ORA-01439:要更改数据类型,则要修改的列必须为空(empty)
oracle在更改字段数据类型时注意:
- 大字段 类型不能随意修改,如果改动了就必须删除列保存之后,再重新建立,因此对于大字段要格外注意
- 有数据是是不能更改数据类型的 modify null only (否则要把列变为空,数据岂不是要丢失)