[firebase-br] Compatibilidade Firebird 2 x DBExpress
Magno System
magno em speet.com.br
Sáb Mar 24 10:56:45 -03 2007
Mudei outras estruturas também. Ao invés de chama a stored procedure
BAIXAESTOQUE de dentro da procedure que CADASTRAVENDAS, coloque ela dentro
de uma trigger after insert da tabela vendas. E estou pensando mudar para a
trigger after insert de auxvendas. Pois aí ficaria assim:
Abre transação
Cadastra 1 item
Abate estoque de 1 item
Fecha transação
Ao passe que na trigger vendas fica assim
Abre transação
Cadastra todos os itens da venda e vai abetendo o estoque de cada um
Fecha transação
Como eu disse, mesmo esta segunda a transação dura questões de fração de
segundos, mas gato escaldado...
Outra coisa que corrigi foi a seguinte: antes eu dava um commit sem
tratá-lo.
Agora faço o seguinte (resumidamente);
Try
Transacao.commit;
Except
Begin
Transacao.Rollback;
Mensagem de Erro;
end
end
Antes eu fazia assim:
Transacao.starttransaction
Entrada de parametros
Mandava executar
Transacao.commit;
Tenho um colega que disse que fazia assim e quando dava um erro, por não ter
o rollback, ele não conseguia executar mais nenhuma transação. Bem é isto,
ufa...
T+
Mais detalhes sobre a lista de discussão lista