Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Edivaldo_Reis

Como criar Trigger no Mysql

Recommended Posts

Triggers estão programados para serem implementados no MySQL versão 5.1.CREATE TRIGGER nome_do_gatilho ON dono.Nome_da_tabelaFOR INSERT (ou UPDATE ou DELETE)ASCodigo para execucao

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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 MSGSON ACTIVE BEFORE INSERT POSITION 0BEGINUPDATE TOPICOS SET STATUS = 0 WHERE COD = NEW.COD;END;

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

 

oBRIGADO!

Compartilhar este post


Link para o post
Compartilhar em outros sites

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 TOPICOSFOR EACH ROWBEGIN 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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Experimente com:

 

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.