Синтаксис даты выпуска в SQL
Я продолжаю получать это сообщение об ошибке при попытке изменить тип данных моего столбца:
alter table x modify column order_date date NOT NULL;
ОШИБКА в строке 1
ORA-00905 отсутствует ключевое слово
Я не уверен, где я иду не так, как я знаю, что есть много типов дат в SQL?
Большое спасибо
1 ответ
Предложение MODIFY не принимает COLUMN в качестве ключевого слова. Это будет работать:
alter table x modify order_date date NOT NULL;
Синтаксис задокументирован в справочнике по Oracle SQL. Узнайте больше
Нам нужно только включить 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
Это означает, что в вашем столбце есть несколько строк без значений. Итак, вам нужно обновить таблицу и заполнить эти строки некоторым значением; то, что вы будете использовать по умолчанию, зависит от ваших бизнес-правил.