我遇到一个问题,我试图存储在我的varchar2(4000)列中的数据太大,所以我希望将该列更改为更适合存储大量的文本数据。具体来说,一个序列化的数组。
>首先,CLOB是我用于此目的的最佳数据类型吗?是否有更合适的数据类型?
>其次,当我尝试使用通常的snyntax更改列:
ALTER TABLE table MODIFY column CLOB
我收到以下错误:ORA-22858:数据类型的无效更改
在不丢失任何数据的情况下更改此表格最简单的方法是什么?
最简单的方法是,由于不允许从varchar列移动到CLOB的操作,将创建一个新列并将数据从旧列移动到新列:
ALTER TABLE some_table ADD (foo CLOB); UPDATE some_table SET foo = old_column; ALTER TABLE some_table DROP COLUMN old_column; ALTER TABLE some_table RENAME COLUMN foo TO old_column;
原文地址:https://www.jb51.cc/oracle/205998.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。