Ir para conteúdo
Fórum Script Brasil
  • 0

Transações, Rollback


Helio13

Pergunta

Boa tarde!

Estou com uma duvida, e queria ver se alguém me podia ajudar...!

Eu estou a fazer um procedimento com transações e gostaria que só acontecesse o COMMIT senão ocorre-se nenhum erro, caso ocorre-se ele fazia o ROLLBACK

O que tenho é isto, mas não sei se posso fazer isto...!?

BEGIN

SAVEPOINT ponto_de_salvamento;

DECLARE HANDLER;

START TRANSACTION;

Call descritores_copy;
Call achados_copy;
Call adornos_copy;
Call ceramicas_copy;
Call fauna_copy;
Call industrialiticapolida_copy;
Call industrialitica_copy;
Call industriaossea_copy;
Call metais_copy;
Call ossoshumanos_copy;

IF HANDLER <> O THEN
ROLLBACK TO ponto_de_salvamento;
ELSE
COMMIT;
end if;

END

Alguém me pode ajudar?

Cumprimentos

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Oi 'Helio13',

Se o controle de commit funciona do jeito que você quer eu não sei pois nunca testei desta forma. Acredito que deverá funcionar se as regras abaixo foram seguidas.

1 - Todas as tabelas desta transação deverão ser pertencer ao Engine InnoDB;

2 - A variável Autocommit deverá ser setada para ZERO;

3 - As transações deverão estar em um bloco START TRANSACTION ... COMMIT (o rollback é automático).

Pessoalmente eu montaria uma procedure única para o acionamento desta transação. (É mais fácil de saber onde foi o problema e consertá-lo do que ficar procurando em qual procedure isto aconteceu).

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...