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 (否则要把列变为空,数据岂不是要丢失)


相关文章
|
4月前
|
SQL Oracle 关系型数据库
Oracle 将表中的数据查出更改某一字段的值后再插入该表
Oracle 将表中的数据查出更改某一字段的值后再插入该表
104 2
|
1月前
|
存储 关系型数据库 数据库
在 Postgres 中使用更改列类型
【8月更文挑战第11天】
38 0
在 Postgres 中使用更改列类型
|
4月前
|
Oracle 关系型数据库
Oracle查询优化-删除名称重复的记录
【2月更文挑战第2天】【2月更文挑战第4篇】方法很多,列举我用过的两种,比较容易理解的。
36 3
|
10月前
|
SQL
ora-04098 触发器无效且未通过重新验证
ora-04098 触发器无效且未通过重新验证
203 0
|
SQL Oracle 关系型数据库
Oracle增加修改删除字段/主键
Oracle增加修改删除字段/主键
107 0
|
SQL Oracle 关系型数据库
"ORA-00942: 表或视图不存在 "的原因和解决方法
采用Oracle数据库,使用Powerdesigner设计,生成Sql文件导入后查询出现“ORA-00942: 表或视图不存在 ”,很是郁闷,这个问题以前出现过,当初解决了,但因好久没有使用,这次竟然忘了,害得我浪费了好些时间,为了避免再次忘记,将它记下来,同时和大家一起分享。
2590 0
|
Oracle 关系型数据库 数据库
Oracle用户操作、数据类型、表格修改、约束设置详解
Oracle用户操作、数据类型、表格修改、约束设置相关操作以及使用案例
|
Oracle 关系型数据库
【oracle】字段不为空时修改字段类型
字段不为空时修改字段类型
1963 0