Oracle:将VARCHAR2列更改为CLOB

前端之家收集整理的这篇文章主要介绍了Oracle:将VARCHAR2列更改为CLOB前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我遇到一个问题,我试图存储在我的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;

猜你在找的Oracle相关文章