Bom dia. Tenho uma Procedure no Banco Mysql 5.0 Innodb com a seguinte sintaxe: Só que eu quero que caso haja algum erro na transação ele efetue um ROOLBACK... Como eu faria isso dentro da Procedure? Gostaria algo nesse sentido: Se tudo estiver certo COMMIT senao ROLLBACK Obrigado (codigo abaixo) BEGIN
START TRANSACTION;
insert into caixa (nr_caixa, hr_abertura, nr_filial, vl_troco, dt_abertura, cd_caixa, id_status)
values
(Vnr_caixa, VHr_abertura, Vnr_filial, Vvl_troco, Vdt_abertura, Vcd_caixa, Vid_status);
if vvl_troco > 0 then
INSERT INTO cofre (chave, cd_controle, ds_lancamento, cd_conta_origem, dt_lancamento, hr_lancamento, vl_credito_destino, vl_debito_destino, vl_credito_origem, vl_debito_origem, cd_conta_destino, id_lancamento, id_tabela_controle)
values
(vchave, Vnr_caixa, vlancamento, vcontaorigem, vdtlancamento, vhrlancamento, vcreditodest, vdebitodestino, vcreditoorigem, vdebitoorigem, vcontadestino, vidlancamento, 'caixa_troco');
end if;
COMMIT;
END