Не удается создать таблицу со значением по умолчанию из последовательности

#sql #oracle #ddl

#sql #Oracle #ddl

Вопрос:

Я пытаюсь создать таблицу и получаю сообщение ORA-00984 «Столбец здесь не разрешен». Это очень простая таблица.

 CREATE TABLE all_users
(user_id number DEFAULT user_id_seq.NEXTVAL PRIMARY KEY, 
email_address VARCHAR(25) NOT NULL,
first_name VARCHAR(20) NOT NULL,
last_name VARCHAR(30) NOT NULL);
  

он продолжает выдавать мне эту ошибку. Кто-нибудь может помочь, пожалуйста?
У меня также есть другие таблицы, которые я пытаюсь создать, и я получаю ту же ошибку.

Комментарии:

1. Вам нужно использовать триггер для использования последовательности. В Oracle 12c вы можете использовать generated always as .

2. Этот синтаксис поддерживается только в Oracle 12, не в более ранних версиях. Имя также является плохим выбором, потому что в Oracle уже есть общедоступный синоним с таким именем — это доставит вам много проблем.