Em 11/11/2016 16:26, POWER Informática escreveu:
Em um aplicativo PHP ( PostgreSql 8.4 ),
Tenho duas tabelas (grupoproduto e produto )   ON DELETE NO ACTION;

Preciso desabilitar o botão excluir ( grupoproduto ) se existirem na tabela ( produto ) referências a essa linha. Talvez um COUNT for idproduto na tabela grupoprodutos, resolva mas .. essa seria uma boa prática, pois me parece que vai acessar grupo produtos tantas vezes quanto forem os registros de produtos.

Dicas !!!

Olá Carlos, você pode usar o EXISTS ao invés de COUNT.
Ex.:
delete from grupoproduto gp
where gp.cdgrupoproduto = ?
and *not exists* (select 1 from produto where cdgrupoproduto = gp.cdgrupoproduto)

Mas pode também deixar o banco gerar uma exceção de foreign key e tratar a mesma. Acho que seria a melhor estratégia.

Att.
Alex


_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a