MODIFY на пункт не принимает КОЛОННА в качестве ключевого слова. Это будет работать:
alter table x modify order_date date NOT NULL;
Синтаксис документирован в ссылке Oracle SQL. Find out more.
Нам нужно включить COLUMN с командами, которые имеют несколько разных возможностей. Например, с помощью команды ALTER TABLE ... DROP, потому что мы можем удалить столбцы, ограничения или перегородки ....
alter table x drop column order_date ;
«, когда я попытался ввода NOT NULL, он сказал, что таблица нужно быть пустыми»
Вы должны быть в состоянии применить ограничение NOT NULL, обеспечивая все строки в таблице, имеет значение в order_date
колонки. Сообщение об ошибке, которое вы получаете, совершенно ясно:
ORA-01758 table must be empty to add mandatory (NOT NULL) column
Это означает, что в вашей колонке есть несколько строк без значений. Итак, вам нужно обновить таблицу и заполнить эти строки некоторым значением; то, что вы будете использовать по умолчанию, зависит от ваших бизнес-правил.
Отличный ответ спасибо много, но когда я попытался ввести NOT NULL, он сказал, что таблица должна быть пустой, поэтому укажите параметр NOT NULL, который не имеет смысла, поскольку это поле не должно влиять на остальных? –
Таблица ORA-01758 должна быть пустой, чтобы добавить обязательную (NOT NULL) колонку –