alter table A modify comment nvarchar2(2000)
执行时出错 :ORA-22859 invalid modification of columns
请问大家怎样改此字段的类型啊?
11 个解决方案
#1
是不是comment字段有数据啊?
需要清除数据,再修改吧
需要清除数据,再修改吧
#2
觉得是comment里有超过2000字符的数据
#3
没有数据
#4
用:
alter table A modify comment nvarchar2(10)
也是同样的错误
#5
在线等人来解决
#6
把clob 改为nvarchar2 直接肯定是行的 数据类型只有小转大 而你是把大范围改为小的 肯定不行的
有点小麻烦
#7
既然没有数据就直接这样
alter table a drop column comment;
在
alter table a add comment nvarchar2(2000)
#8
按照7楼的方法做
#9
#10
7 楼的有个疑问 这样弄了 字段的顺序会变哦
?
这样可以不
创建一个 只有一个字段 CLOB 的表 b
然后
用 你原来的表 和 clob 表
create table a_2 as
select ..... --这里的顺序是A表里的所以字段 A的 comment 字段改成B 的clob 字段
from A , b where 1 > 2
?
这样可以不
创建一个 只有一个字段 CLOB 的表 b
然后
用 你原来的表 和 clob 表
create table a_2 as
select ..... --这里的顺序是A表里的所以字段 A的 comment 字段改成B 的clob 字段
from A , b where 1 > 2
#11
感觉这样有些复杂,不知是否还有更好的办法哦?
#1
是不是comment字段有数据啊?
需要清除数据,再修改吧
需要清除数据,再修改吧
#2
觉得是comment里有超过2000字符的数据
#3
没有数据
#4
用:
alter table A modify comment nvarchar2(10)
也是同样的错误
#5
在线等人来解决
#6
把clob 改为nvarchar2 直接肯定是行的 数据类型只有小转大 而你是把大范围改为小的 肯定不行的
有点小麻烦
#7
既然没有数据就直接这样
alter table a drop column comment;
在
alter table a add comment nvarchar2(2000)
#8
按照7楼的方法做
#9
#10
7 楼的有个疑问 这样弄了 字段的顺序会变哦
?
这样可以不
创建一个 只有一个字段 CLOB 的表 b
然后
用 你原来的表 和 clob 表
create table a_2 as
select ..... --这里的顺序是A表里的所以字段 A的 comment 字段改成B 的clob 字段
from A , b where 1 > 2
?
这样可以不
创建一个 只有一个字段 CLOB 的表 b
然后
用 你原来的表 和 clob 表
create table a_2 as
select ..... --这里的顺序是A表里的所以字段 A的 comment 字段改成B 的clob 字段
from A , b where 1 > 2
#11
感觉这样有些复杂,不知是否还有更好的办法哦?