如何更改dataype CLOB TO VARCHAR2(sql)

PHP*_*oob 11 sql oracle ddl clob varchar2

表:客户

ID      NAME             DATATYPE
NUMBER  VARCHAR2(100)    CLOB
Run Code Online (Sandbox Code Playgroud)

我想将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))
Run Code Online (Sandbox Code Playgroud)

如果数据类型不是clob但通常是有效的,ORA-22859因为我使用的是oracle toad/apex.

Rah*_*thi 19

你可以试试这个:

  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. DROP CLOB列

    alter table my_table drop column old_column

  2. 将varchar2列重命名为CLOB列名

    alter table my_table rename column new_column to old_column