Ir para o conteúdo

Publicidade

 Estatísticas do Fórum

  • 0 Usuários ativos

    0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

Foto:

Como criar Trigger no Mysql

  • Por favor, faça o login para responder
5 respostas neste tópico

#1 Edivaldo_Reis

Edivaldo_Reis
  • Membros
  • 234 posts

Postado 01 novembro 2006 - 16:35

Qual é o procedimento para criar trigger no MySQL ?
  • 0

#2 slack

slack
  • Membros
  • 243 posts

Postado 02 novembro 2006 - 06:22

Triggers estão programados para serem implementados no MySQL versão 5.1.


CREATE TRIGGER nome_do_gatilho ON dono.Nome_da_tabela
FOR INSERT (ou UPDATE ou DELETE)
AS
Codigo para execucao
  • 0

#3 Suissa

Suissa

    Don't look to the sky your place is down

  • Moderadores
  • 2.684 posts

Postado 03 novembro 2006 - 03:16

e falando c eh BEFORE ou AFTER antes ali do INSERT etc
  • 0

#4 DarkDucke

DarkDucke
  • Membros
  • 52 posts

Postado 24 abril 2007 - 18:32

soh pra v c eu entendi!!!!

REPCISO CRIAR UMA TRIGGER QUE QUANDO UM REGISTRO FOR ALTERADO OU ADICIONADO EM UMA TABELA ALTERAR UM CAMPO EM OUTRA TABELA!!!!

CREATE TRIGGER ATUALIZA_STATUS FOR MSGS
ON ACTIVE BEFORE INSERT POSITION 0
BEGIN
UPDATE TOPICOS SET STATUS = 0 WHERE COD = NEW.COD;
END;

ISSO EU FARIA EM INTERBASE... COMO SERIA ESSA MSM TRIGGER COM MYSQL!!!!

oBRIGADO!
  • 0

#5 DarkDucke

DarkDucke
  • Membros
  • 52 posts

Postado 24 abril 2007 - 20:10

tava lendo uns aritos sobre triggers no mysq..
fiz uma aqui pelo q parece deveria funcionar..
mais nao está funcionando,

alguem poderia dar uma olhada e me dizer o q eh??

CREATE TRIGGER ATU_STS_MSGS BEFORE UPDATE ON TOPICOS
FOR EACH ROW
BEGIN
 IF (NEW.STATUS) <> 0 THEN
	UPDATE MSGS SET STATUS = NEW.STATUS WHERE COD_T = NEW.COD;
END;

a mensagem de erro é:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UPDATE MSGS SET STATUS = NEW.STATUS WHERE COD_T = NEW.COD' at line 5
  • 0

#6 Eclesiastes

Eclesiastes

    Aprendiz

  • Membros
  • 1.186 posts

Postado 27 abril 2007 - 13:54

Experimente com:

CREATE TRIGGER ATU_STS_MSGS BEFORE UPDATE ON TOPICOS
FOR EACH ROW
IF NEW.STATUS <> 0 THEN
	UPDATE MSGS SET STATUS = NEW.STATUS WHERE COD_T = NEW.COD;
END IF;

  • 0