При создании таблицы с GUID столбцом ошибка ORA-00907: missing right parenthesis
CREATE TABLE Passenger (
2 id_passenger guid not null auto_increment,
3 privilege varchar(40) not null,
4 full_name_passenger varchar(200) not null,
5 age int not null,
6 sex varchar(40) not null
7 );
ERROR at line 2:
ORA-00907: missing right parenthesis
Как исправить ошибку?
Ответы (1 шт):
Автор решения: 0xdb
→ Ссылка
GUID это не число, его нельзя увеличить или уменьшить. Хранить его можно в столбце с типом данных RAW (16) (см. описание функции SYS_GUID). Нелишне такой столбец объявить как первичный ключ.
Заодно, стоит ли для пола (sex) выделять 40 символов? Если конечно не предполагаются такие значения: 'замечательныймужикменявывезвгеленджик', то хватит и одного символа.
Итого получится:
create table Passenger (
id_passenger raw (16) default sys_guid () primary key,
privilege varchar2 (40) not null,
full_name_passenger varchar2 (200) not null,
age int not null,
sex char (1) not null);
Table PASSENGER created.