К основному контенту

ORA-01439: column to be modified must be empty to change datatype


Я столкнулся с этим сообщением об ошибке, когда я пытался запустить инструкцию ALTER TABLE MODIFY
Версия базы данных Oracle  11.2.0.1, я пытался запустить команду ALTER TABLE MODIFY и получил эту ошибку.
Попробую показать причину этой ошибки и шаги решения ее.
1. Создадим таблицу cities:
CREATE TABLE cities
( city_id number(10),
city_name varchar2(150)  );

2.  Добавим в нее данные:
INSERT into cities
(city_id , city_name)
values (34, 'ISTANBUL');

3. Изменим поле в таблице:
ALTER TABLE cities
MODIFY city_id varchar2(15);

Получаем ошибку:
ORA-01439: column to be modified must be empty to change datatype
You can only modify the datatype of a column whose values are all NULL.
Вы можете поменять тип колонки если она пустая NULL.
Решение:
UPDATE cities
SET city_id = NULL;
или
DELETE FROM cities
или
Truncate table cities

Теперь вы можете сменить тип поля.

Комментарии

Популярные сообщения из этого блога

Команды Yum (Oracle linux,Cent os, RHEL)

Шпаргалка по работе с пакетным менеджером Yum (Yellowdog Updater, Modified), который используется в популярных Linux дистрибутивах: RedHat, CentOS, Scientific Linux (и других). В целях экономии места вывод команд не представлен. отображение команд и опций #yum help список названий пакетов из репозиторий #yum list список всех доступных пакетов #yum list available список всех установленных пакетов #yum list installed установлен ли указанный пакет #yum list installed httpd список установленных и доступных пакетов #yum list all список пакетов, относящихся к ядру #yum list kernel отображение информации о пакете #yum info httpd список зависимостей и необходимых пакетов #yum deplist httpd найти пакет, который содержит файл #yum provides "*bin/top" поиск пакета по имени и описанию #yum search httpd #yum search yum получить информацию о доступных обновлениях безопасности #yum updateinfo list security вывести список групп #yum gr

Установка и конфигурирование Oracle Enterprise Manager 13c.

Этот пост поможет правильно установить и сконфигурировать Oracle Enterprise Manager 13c. Oracle Enterprise Manager - Это централизованный центр управления и мониторинга для всех продуктов Oracle. OEM способен управлять и мониторить и сторонние приложения и сообщать о всех критических проблемах основанные на установленных правилах установленные администратором. Первоначальные настройки системы Oracle Linux 6.7 64 Bit Virtual Machine VirtualBox 5.1.6 for Windows hosts Oracle Database 12.1.0.2 Oracle Enterprise Manager 13c Выделена оперативной памяти 12 Гб . На операционной системе Oracle Linux 6.7 64 Bit предустановлена база данных Oracle Database 12c установка которой тут не рассматривается. Предустановленные пакеты для корректной установки и настройки Oracle Management Service (OMS) make-3.81 binutils-2.20 gcc-4.4.4 libaio-0.3.107 glibc-common-2.12-1 libstdc++-4.4.4 libXtst-1.0.99 (x86_64) sysstat-9.0.4 glibc-2.12 glibc-devel-2.1

Запуск Spring Boot App из командной строки

Я расскажу вам, как запустить приложение Spring Boot из командной строки в окне терминала. Есть несколько способов, и оба предполагают, что вы уже создали приложение Spring Boot. Добавить плагин Maven в POM . XML Чтобы мы могли запускать приложение Spring Boot в виде единого исполняемого файла JAR Java , нам сначала нужно обновить файл pom . xml нашего проекта и добавить к нему подключаемый модуль maven . Откройте файл pom . xml и добавьте следующий фрагмент XML ниже списка зависимостей проекта. <build> <plugins> <plugin> <groupId> org.springframework.boot </groupId> <artifactId> spring-boot-maven-plugin </artifactId> </plugin> </plugins> </build> Сборка Spring Boot проекта с Maven Чтобы иметь возможность запускать приложение Spring Boot , вам необходимо сначала его собрать. Чтобы собрать и упаковать приложение Spring Boot в один исполняемый файл Jar с