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

(Resolvido) Erro em utilização de Trigger mysql


CASSIOSSSS

Pergunta

Dae...

Fiz uma trigger para deletar um registro de uma tabela caso sofra a insersão do mesmo ID.. ou seja, se o cara incluir ou alterar um registro nessa tabela, sempre quero que a trigger apague ele caso já exista, e inclua novamente.

to fazendo assim:

DELIMITER |

CREATE TRIGGER `tr_excluir_`

BEFORE INSERT

ON `tabela`

FOR EACH ROW

BEGIN

DECLARE EXISTE INTEGER;

/* Trigger text */

select count(*) AS EXISTE

from `tabela`

where (id_=new.id_) INTO EXISTE;

IF (EXISTE = 1) THEN

delete from `tabela` where id_=new.id_;

END IF;

END|

DELIMITER ;

quando faço um insert com um reg que existe ele retorna este erro:

Can't update table 'imoveis' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.

alguma dica?

ah, tem como eu habilitar este fórum no thunderbird?

vlw.

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Oi, 'CASSIOSSSS'

O MySQL não permite que você execute outra instrução SQL na mesma tabela dentro de um TRIGGER.

Se não for este o seu caso, dê nome certo as tabelas usadas no exemplo para que possamos analisar melhor.

Link para o comentário
Compartilhar em outros sites

  • 0

Não há necessidade. é uma operação de uma mesma tabela.

Vou partir para outra solução.

obrigado pelo retorno.

Oi, 'CASSIOSSSS'

O MySQL não permite que você execute outra instrução SQL na mesma tabela dentro de um TRIGGER.

Se não for este o seu caso, dê nome certo as tabelas usadas no exemplo para que possamos analisar melhor.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...