web-dev-qa-db-ja.com

データ型を変更する方法CLOBTO VARCHAR2(sql)

表:顧客

_ID      NAME             DATATYPE
NUMBER  VARCHAR2(100)    CLOB
_

DATA列をCLOBから `VARCHAR2(1000)に変更したい

ALTER TABLE customers MODIFY DATA VARCHAR2 (1000)も試してみました

ALTER TABLE customers MODIFY (DATA VARCHAR2 (1000))

また

_alter table customers  modify
(data VARCHAR2(4000))
_

これらは通常、データ型がCLOBでない場合に機能しますが、Oracle toad/apexを使用しているため、_ORA-22859_を取得しています。

11
PHPnoob

あなたはこれを試すことができます:

  1. Varchar2として新しい列を追加します

    alter table my_table add (new_column varchar2(1000));

  2. CLOB名をvarchar2列に更新します。

    update my_table set new_column=dbms_lob.substr(old_column,1000,1);

データのテスト

  1. DROPCLOB列

    alter table my_table drop column old_column

  2. Varchar2列の名前をCLOB列名に変更します

    alter table my_table rename column new_column to old_column

20
Rahul Tripathi