Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > СУБД, общие вопросы > объявление Foreign Key


Автор: st11 11.5.2007, 14:01
Всем доброго времени суток smile
Люди, пожалуйста помогите разобраться.
Создаю первую таблицу и вношу в нее соответсвующие значения:
Код

create table Account
(
   accountID integer not null primary key,
   account varchar(5) not null
);
insert into Account (accountID, account) values (1,111);
commit;
insert into Account (accountID, account) values (2,222);
commit;
insert into Account (accountID, account) values (3,333);
commit;

Далее пытаюсь создать вторую таблицу:
Код

create table Auth
(
   accID integer not null foreign key references Account(accountID),
   family varchar(20) not null,
   name varchar(20) not null,
   adress varchar(50) not null,
   numman integer check (numman>=1),
   area decimal(4,1) not null
);

Но вторая таблица не создается, ругается на строчку accID integer not null foreign key references Account(accountID). Ошибка выдается слудующая:
ORA-00907: missing right parenthesis
Я так понимаю, говорит, что скобка не закрыта, но вроде скобки все на месте. В книге определение внешнего ключа идет именно таким вот образом. В чем проблема, не могу понять  smile 
Заранее, спасибо всем кто сможет помочь.

Автор: JavaCraft 11.5.2007, 14:45
Попробуй так
Код

create table Auth
(
   accountID integer not null references Account(accountID),
   family varchar(20) not null,
   name varchar(20) not null,
   adress varchar(50) not null,
   numman integer check (numman>=1),
   area decimal(4,1) not null
);

Автор: st11 14.5.2007, 07:27
Здорово!!!
JavaCraft, спасибо тебе большое, заработало   smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)