Jump to content

Archived

This topic is now archived and is closed to further replies.

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other 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!

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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;

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.