Problema de Chave Estrangeira com Chave composta no PostgreSQL
Bom dia pessoal, estou com um problema para trabalhar com chave composta e estrangeira.. vou tentar dar o exemplo aqui..
tenho uma tabela
create table teste1(
código serial,
nome varchar(45),
loja integer default 1,
primary key(código, loja)
)
Bom até ai funciona perfeitamente a tabela é criada com a Chave composta.. em seguida, tenho uma tabela que faz referencia a tabela citada acima
create table teste2(
código serial,
código_teste1 integer references teste1(código) on update cascade on delete cascade,
)
não consigo criar a tabela teste 2, da um erro de unicidade..
se eu criar a tabela 1 um constrarint definindo o campo código como unique funciona, só que ai não da certo para o que eu preciso..
pq preciso armazenar na tabela teste 1.. o código e a Loja ex:
Código Loja
1 1
2 1
3 1
1 2
2 2
3 2
se eu colocar o campo código como unique, não me permite a cominação das chaves como necessito.. e se eu não fizer a referencia... poderia acontecer uma quebra de consistência no Banco... alguém pode me ajudar??
entenderam o meu problema??
Abraços
tenho uma tabela
create table teste1(
código serial,
nome varchar(45),
loja integer default 1,
primary key(código, loja)
)
Bom até ai funciona perfeitamente a tabela é criada com a Chave composta.. em seguida, tenho uma tabela que faz referencia a tabela citada acima
create table teste2(
código serial,
código_teste1 integer references teste1(código) on update cascade on delete cascade,
)
não consigo criar a tabela teste 2, da um erro de unicidade..
se eu criar a tabela 1 um constrarint definindo o campo código como unique funciona, só que ai não da certo para o que eu preciso..
pq preciso armazenar na tabela teste 1.. o código e a Loja ex:
Código Loja
1 1
2 1
3 1
1 2
2 2
3 2
se eu colocar o campo código como unique, não me permite a cominação das chaves como necessito.. e se eu não fizer a referencia... poderia acontecer uma quebra de consistência no Banco... alguém pode me ajudar??
entenderam o meu problema??
Abraços
André Macedo
Curtidas 0