Oracle更改字段类型Blob错误ora-22858
来源:互联网 发布:淘宝运营收费标准 编辑:程序博客网 时间:2024/06/06 13:20
近日工作中发现有一张表的字段类型建错了,本应是BLOB类型却被别人建成了VARCHAR2(200),修改时oracle却提示“ORA-22858 invalid alteration of datatype”错误。
经查看相关资料才了解,是oracle不允某些类型的字段修改。具体就是不可以将字段类型修改为:object、REF、nested table、VARRAY、 CLOB、BLOB。
解决方案也很简单就是像学数据结构时经常用到的两变量(a,b)交换值的方法,c = a, a = b, b = c。当然我们这里可以简单处理,具体方法如下:
1、将字段a改名为_a
2、新建一个字段a,用正确的类型
3、将_a字段中的数据经一定转换(一般要做转换的,因为类型变了)后插入了a字段中
4、删除_a字段
如果无需保留数据只要1、2、3步就可以了。
如果表中或该字段中还没有数据,那就更简单了,把那个字段删除再以正确的数据类型新建一个即可。
正面是本错误的官方解释:
ORA-22858 invalid alteration of datatype
Cause: An attempt was made to modify the column type to object, REF, nested table, VARRAY or LOB type.
Action: Create a new column of the desired type and copy the current column data to the new type using the appropriate type constructor.
- Oracle更改字段类型Blob错误ora-22858
- Oracle将某varchar2类型的字段改为blob类型时,报错:ORA-22858: 数据类型的变更无效
- 修改oracle数据库字段类型,处理ORA-01439错误
- 修改oracle数据库字段类型,处理ORA-01439错误
- oracle字段类型blob,clob,nclob
- Oracle blob字段类型 文件读写实例
- oracle字段类型blob,clob,nclob
- Oracle Blob字段转换为String类型
- 使用 BLOB 类型字段
- blob字段类型
- blob字段类型
- 在线重定义更改主键字段类型/ORA-23539
- 通过JDBC 操作 ORACLE BLOB,CLOB字段类型
- hibernate对oracle数据库CLOB、blob类型字段处理原则
- 使用JDBC操作基于Oracle的CLOB,BLOB字段类型
- (转)通过JDBC 操作 ORACLE BLOB,CLOB字段类型
- ibatis+oracle blob类型字段insert update处理
- oracle中blob字段转换成varchar类型
- PHP5:session会话的使用和分析(三)
- 使XP起动时不自动检查移动硬盘
- 编写简单多线程web服务器
- 两个文本框都输入数字后只要焦点一失去,在第三个文本框中就自动计算出前两个的和或者积
- 摄像头驱动的Linux内核配置
- Oracle更改字段类型Blob错误ora-22858
- C++中的function object
- oracle select ... for update
- JAVA中的空指针异常
- ERP系统实施的收费依据分析
- BADI 的应用...
- 代码操作 ACCESS时为什么老出现XXX函数未定义错误?
- [转帖]通常你会在什么地方遇到DBNull?
- 表组织和索引组织