ORA-22859 无效的列修改

简介: ORA-22859 无效的列修改

修改表字段数据类型时问题: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在更改字段数据类型时注意:

  1. 大字段 类型不能随意修改,如果改动了就必须删除列保存之后,再重新建立,因此对于大字段要格外注意
  2. 有数据是是不能更改数据类型的 modify null only (否则要把列变为空,数据岂不是要丢失)


相关文章
ora-04098 触发器无效且未通过重新验证
ora-04098 触发器无效且未通过重新验证
289 0
|
SQL Oracle 关系型数据库
Oracle增加修改删除字段/主键
Oracle增加修改删除字段/主键
136 0
|
Oracle 关系型数据库 数据挖掘
|
SQL Oracle 关系型数据库
"ORA-00942: 表或视图不存在 "的原因和解决方法
采用Oracle数据库,使用Powerdesigner设计,生成Sql文件导入后查询出现“ORA-00942: 表或视图不存在 ”,很是郁闷,这个问题以前出现过,当初解决了,但因好久没有使用,这次竟然忘了,害得我浪费了好些时间,为了避免再次忘记,将它记下来,同时和大家一起分享。
2693 0
|
SQL Oracle 关系型数据库
Oracle 无效对象查询,编译无效对象
编译无效对象 有两种方式: 1、执行sql查询结果 2、脚本编译
|
缓存 Oracle 关系型数据库
利用BBED恢复UPDATE修改前的值
BBED工具介绍: BBED stands for Block Browser and EDitor. BBED只是一款工具,类似于ultraEdit,单纯的会用BBED来修改数据没有任何意义!关键是要知道为什么要这么改! 在充分了解Block格式和Oracle的各种机制的基础上广泛使用BBED, 用它来帮你构造测试案例,用它来帮你验证测试结果,用它来帮你深入理解Oracle!
|
Oracle 关系型数据库
【oracle】字段不为空时修改字段类型
字段不为空时修改字段类型
1995 0