Sua modelagem está confusa. Existem outros jeitos de resolver, mas não quer optar por usar chaves artificiais? Se eu entendi teu problema, acredito que a modelagem abaixo resolva.
CREATE TABLE pedidos ( idpedido serial PRIMARY KEY, idcliente integer CONSTRAINT fk_pedido_cliente REFERENCES clientes (idcliente), datapedido date default now(), situacao varchar(1) ); CREATE TABLE peditens ( idpeditens serial primary key, idpedido integer CONSTRAINT fk_pedido REFERENCES pedidos (idpedido) ON DELETE CASCADE, idproduto integer CONSTRAINT fk_produto REFERENCES produtos (idproduto), qtde_item integer default 0 ); CREATE TABLE pedpecas ( idpedpecas serial primary key, idpeditens integer CONSTRAINT fk_peditens REFERENCES peditens (idpeditens) ON DELETE CASCADE, idpecas integer CONSTRAINT fk_pecas REFERENCES pecas (idpecas), qtde_pecas integer default 0 ); -- Everton 2015-02-19 21:58 GMT-02:00 Paulo Afonso Pereira < [email protected]>: > Olá Pessoal, > > > > Estou precisando de uma dica. Tenho as seguintes tabelas: > > > > CREATE TABLE pedidos ( > > idpedido serial PRIMARY KEY, > > idcliente integer CONSTRAINT fk_pedido_cliente REFERENCES clientes > (idcliente), > > datapedido date default now(), > > situacao varchar(1) > > ); > > > > CREATE TABLE peditens ( > > idpedido integer CONSTRAINT fk_pedido REFERENCES pedidos (idpedido) ON > DELETE CASCADE, > > idproduto integer CONSTRAINT fk_produto REFERENCES produtos (idproduto), > > qtde_item integer default 0, > > CONSTRAINT pk_peditens PRIMARY KEY (idpedido,idproduto) > > ); > > > > CREATE TABLE pedpecas ( > > idpedido integer CONSTRAINT fk_pedido REFERENCES pedidos (idpedido) ON > DELETE CASCADE, > > idproduto integer CONSTRAINT fk_produto REFERENCES peditens > (idpedido,idproduto) ON DELETE CASCADE, (**AQUI**) > > idpecas integer CONSTRAINT fk_pecas REFERENCES pecas (idpecas), > > qtde_pecas integer default 0, > > CONSTRAINT pk_pedpecas PRIMARY KEY (idpedido,idproduto,idpecas) > > ); > > > > Se excluir um pedido da tabela PAI, todos são excluído nos filhos, até > aqui tudo OK. > > Se for excluído um produto da tabela ITENS, é possível fazer com que > exclua apenas este produto em questão da tabela PEÇAS??? > > > > Agradeço qualquer dica. > > Att, > > Paulo. > > > > > > > > > ------------------------------ > <http://www.avast.com/> > > Este email foi escaneado pelo Avast antivírus. > www.avast.com > > > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > >
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
