Alter LONG datatype

Изменяем LONG datatype в таблице на Oracle Database

  • При работе с базой  данных, мы можем получить ошику

alter table MY_SCHEMA.MY_TABLE move tablespace MY_TABLESPACE;
*
ERROR at line 1:
ORA-00997: illegal use of LONG datatype

LONG datatype больше не поддерживается в Oracle Database и нужно конвертировать в LOB.

  • Находим поля с типом LONG и смотрим, какие данные есть в таблице

DESCRIBE MY_SCHEMA.MY_TABLE;
SELECT * FROM MY_SCHEMA.MY_TABLE;

  • Делаем копию этой таблицы.

CREATE TABLE MY_SCHEMA.MY_TABLETMP
AS
SELECT ID, TO_LOB(COLUMN_WITH_LONG) AS COLUMN_WITH_LONG, DATA FROM MY_SCHEMA.MY_TABLE a;

  • Смотрим правильно ли произошла конвертация

DESCRIBE MY_SCHEMA.MY_TABLETMP;
SELECT * FROM MY_SCHEMA.MY_TABLETMP;

  • Конвертируем колонку в  таблице

alter table MY_SCHEMA.MY_TABLE modify (COLUMN_WITH_LONG clob);

Оставьте комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *