transacao em stored procedure
Caros colegas,
Faço uma operacao que compreende o seguinte :
chamo a procedure de encerrar venda (proc_encerrar_venda, passo como parametro o numero do pedido)
a unica coisa que esta procedure faz e chamar outras procedures tais como :
1 - AtualizarContabilidade;
2 - GravarVenda;
3 - GravarVendaItens;
4 - GravarContasReceber;
5 - AtualizarEstooue;
Como trabalho com contabilidade em real time, preciso que todas as operações sejam realizadas ou descartadas.
Minha pergunta é a seguinte : Se a procedure nº 3 - GravarVendaITens, por algum motivo falhar, o firebird automaticamente faz roollback as procedures ja executas.
Tambem pergunto se algum tem uma ideia para fazer esta operação com garantia total das transacoes.
desde já agradeço
Faço uma operacao que compreende o seguinte :
chamo a procedure de encerrar venda (proc_encerrar_venda, passo como parametro o numero do pedido)
a unica coisa que esta procedure faz e chamar outras procedures tais como :
1 - AtualizarContabilidade;
2 - GravarVenda;
3 - GravarVendaItens;
4 - GravarContasReceber;
5 - AtualizarEstooue;
Como trabalho com contabilidade em real time, preciso que todas as operações sejam realizadas ou descartadas.
Minha pergunta é a seguinte : Se a procedure nº 3 - GravarVendaITens, por algum motivo falhar, o firebird automaticamente faz roollback as procedures ja executas.
Tambem pergunto se algum tem uma ideia para fazer esta operação com garantia total das transacoes.
desde já agradeço
Firebird_rr
Curtidas 0
Respostas
Afarias
06/10/2005
|Se a procedure nº 3 - GravarVendaITens, por algum motivo falhar, o
|firebird automaticamente faz roollback as procedures ja executas.
Sim!
dentro de 1 procedimento TODAS AS OPERAÇÕES estão no contexto da mesma transação. ou *todo* procedimento (proc_encerrar_venda) passa ou todo ele é descartado.
T+
|firebird automaticamente faz roollback as procedures ja executas.
Sim!
dentro de 1 procedimento TODAS AS OPERAÇÕES estão no contexto da mesma transação. ou *todo* procedimento (proc_encerrar_venda) passa ou todo ele é descartado.
T+
GOSTEI 0
Afarias
06/10/2005
Ops.. só complementando...
*automaticamente* NÃO!! vc q ao receber o Erro tem q dar o ROLLBACK, cancelando assim *todas* as operações realizadas desde a abertura da transação.
T+
*automaticamente* NÃO!! vc q ao receber o Erro tem q dar o ROLLBACK, cancelando assim *todas* as operações realizadas desde a abertura da transação.
T+
GOSTEI 0