Ответ 1
Думаю, вам нужно поставить NOT NULL
после DEFAULT 52.50
:
ALTER TABLE Members
ADD ( annual_dues NUMBER(5,2) DEFAULT 52.50 NOT NULL
, payment_date DATE );
Я пытаюсь изменить таблицу в базе данных Oracle, добавив к ней два новых столбца с SQL-запросом, как показано ниже:
ALTER TABLE Members
ADD annual_dues NUMBER(5,2) not null DEFAULT '52.50',
ADD payment_date DATE;
При выполнении этого я получаю сообщение об ошибке, как показано ниже:
Ошибка SQL: ORA-30649: отсутствует ключевое слово DIRECTORY
Я играл вокруг него, но это не помогло. Что не так в SQL-запросе?
Думаю, вам нужно поставить NOT NULL
после DEFAULT 52.50
:
ALTER TABLE Members
ADD ( annual_dues NUMBER(5,2) DEFAULT 52.50 NOT NULL
, payment_date DATE );
это правильный синтаксис для вашей проблемы
alter table members
add (annual_dues decimal (5,2) default '52.50' not null,
payment_date date);