Изменить таблицу clg ADD CONSTRAINT UC_Person NOT NULL (ВОЗРАСТ); почему я получаю ошибку? - PullRequest
0 голосов
/ 04 ноября 2018

Это выдает ошибку:

ALTER TABLE TABLE_NAME 
   ADD CONSTRAINT UC_Person NOT NULL(AGE); 

Это отлично работает:

ALTER TABLE TABLE_NAME 
    MODIFY Column_name data_type not null;

Вопрос в том, что 1-й, почему получение ошибки и уникальности не приведет к ошибке.

1 Ответ

0 голосов
/ 04 ноября 2018

Почему? Потому что вы не можете просто составить синтаксис так, как вам хотелось бы - он здесь, чтобы вы следовали этому.

Если вы хотите назвать ограничение NOT NULL, сделайте это следующим образом:

SQL> create table table_name (age number);

Table created.

SQL> alter table table_name modify age constraint uc_person not null;

Table altered.

SQL>

Становится проще, если вас не волнует имя ограничения:

SQL> drop table table_name;

Table dropped.

SQL> create table table_name (age number);

Table created.

SQL> alter table table_name modify age not null;

Table altered.

SQL>
...