タイプ clob の列を持つ Oracle テーブルがあります。列の順序を維持し、データ型を varchar2 に変更したいと考えています。列にはテキストのみが含まれます。
update IN_MSG_BOARD set MSG_TEXT = null;
alter table IN_MSG_BOARD modify MSG_TEXT long;
alter table IN_MSG_BOARD modify MSG_TEXT varchar2(4000);
標準メッセージが表示されます:
ORA-22859: 列の変更が無効です
列をnullにしてから、charまたはlongに変換してから、varchar2に変換しようとしました。しかし、何も機能していないようです。1つの列を変更するためにテーブルをコピーする必要はありません。
内容だけ読みたいわけじゃない。列のデータ型を clob から varchar2 に変更したいと考えています。
助けていただければ幸いです。私はしばらくこれに取り組んできました。ご不明な点がございましたら、お知らせください。