Re: CREATE TABLE with foreign key and primary key
От | Oliver Elphick |
---|---|
Тема | Re: CREATE TABLE with foreign key and primary key |
Дата | |
Msg-id | 200007100916.e6A9GUc12505@linda.lfix.co.uk обсуждение исходный текст |
Ответ на | CREATE TABLE with foreign key and primary key ("Paulo Roberto Siqueira" <paulo.siqueira@usa.net>) |
Список | pgsql-sql |
"Paulo Roberto Siqueira" wrote: >ufgvirtual=# create table matricula ( >ufgvirtual(# id_aluno char(15) references pessoa,>ufgvirtual(# id_curso int4 references curso_polo, >ufgvirtual(# id_polo int2 references curso_polo, >ufgvirtual(#local_prova varchar(50) not null, >ufgvirtual(# autorizado bool default 'f' not null, >ufgvirtual(# id_plano_pgtoint2 references plano_pgto not null, >ufgvirtual(# data_matricula date default CURRENT_DATE not null, >ufgvirtual(#primary key(id_aluno,id_curso,id_polo)); ... >I have tables pessoa, curso, polo, curso_polo and matricula. Primary key in >curso_polo are id_curso (references curso)and id_polo (references polo). In >table matricula I want as primary key id_pessoa (references pessoa), >id_curso (referencescurso_polo) and id_polo (references curso_polo). You can't use REFERENCES on a column if the target primary key is made up of more than one column; you have to use a FOREIGN KEY table constraint: create table matricula ( id_aluno char(15) references pessoa, id_curso int4 not null, -- I assume you wantid_polo int2 not null, -- not null here local_prova varchar(50) not null, autorizado bool default 'f'not null, id_plano_pgto int2 references plano_pgto not null, data_matricula date default CURRENT_DATE not null, primarykey(id_aluno,id_curso,id_polo), FOREIGN KEY (id_curso, id_polo REFERENCES curso_polo (id_curso,id_polo)); -- Oliver Elphick Oliver.Elphick@lfix.co.uk Isle of Wight http://www.lfix.co.uk/oliver PGP: 1024R/32B8FAA1: 97 EA 1D 47 72 3F 28 47 6B 7E 39 CC 56 E4 C1 47 GPG: 1024D/3E1D0C1C: CA12 09E0 E8D5 8870 5839 932A 614D 4C34 3E1D 0C1C ======================================== "Delight thyself also in the LORD; and he shall give thee the desires of thineheart." Psalms 37:4
В списке pgsql-sql по дате отправления: