At,
Trabalho com postgress a 2 anos e neste período venho tenho muitos problemas com o procedures por falta de integridade ou falha de execução(Não executa o comando)
Antes trabalhava com o Firebird, onde até então uma integridade impecável, onde poderia executar um trigger em cascata, caso a ultima trigger desse alguma falha todos os processos anteriores eram desfeitos automaticamente, pelo que percebi isso não acontece com o postgres.
Exemplo:
Tenho a tabela Pedidos_itens, Lotes e Produtos.
Ao efetuar um lançamento na tabela Pedidos_Itens, uma trigger e disparada para atualizar a quantidade em estoque do Lote, consequentemente a tabela Lote dispara outra trigger para tabela Produto.
Caso haja um erro ao efetuar o registro na tabela Produto, todos os processos anteriores deveriam ser desfeitos retornando um erro a aplicação.
Minha pergunta é, porque isso não acontece no postgres?