Проблема при преобразовании столбца varchar2 в тип данных clob в базе данных Oracle - PullRequest
0 голосов
/ 19 июня 2020

У меня есть одна таблица Person в моей базе данных. Я использую базу данных Oracle. У меня есть один столбец ADDRESS с типом данных varchar2 . Я хочу изменить тип данных этого столбца с varchar2 на clob . Я делаю это изменение с помощью Liquibase . Вот мой набор изменений.

<changeSet id="15" author="shivam">
    <sql>
        ALTER TABLE PERSON ADD ADDRESS_CLOB VARCHAR2(2040 CHAR);
        ALTER TABLE PERSON MODIFY ADDRESS_CLOB LONG;
        ALTER TABLE PERSON MODIFY ADDRESS_CLOB CLOB;
        UPDATE PERSON SET ADDRESS_CLOB = ADDRESS;
        ALTER TABLE PERSON DROP COLUMN ADDRESS;
    </sql>
    <rollback>
        ALTER TABLE PERSON DROP COLUMN ADDRESS_CLOB;
    </rollback>
</changeSet>

С помощью указанного выше набора изменений я смогу преобразовать varchar2 в clob . Но, как вы видите, мое последнее имя столбца - ADDRESS_CLOB . Но мое требование - окончательное имя столбца должно быть АДРЕС и иметь тип данных clob . Как я могу это сделать, пожалуйста, помогите мне.

1 Ответ

2 голосов
/ 19 июня 2020

Вам просто нужно переименовать столбец с помощью:

alter table person rename column address_clob to address;

Обратите внимание, что в Oracle DDL базы данных не является транзакционным, как в других базах данных .

...