logo DevMedia  
Home Entenda o site Revistas Canais Cursos Palestras Suporte Fórum +Serviços Assine Compre Créditos

Edição do Mês
  Fórum DevMedia
Fórum de Discussão
Conheça também o NOVO fórum da DevMedia, no endereço: www.devmedia.com.br/forum
O novo fórum possui diversas vantagens! Saiba mais em
www.devmedia.com.br/articles/viewcomp.asp?comp=14726
Estamos sempre trabalhando na melhora do site como um todo! Bons códigos!
Equipe DevMedia

 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos  RegistrarRegistrar   
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 
Edição do Mês

Triggers Replicar Inverter posição das chaves referenciadas
 
Novo Tópico   Responder Mensagem    Fórum DevMedia - Índice do Fórum -> MySQL
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
mcasagra
Novato


Registrado em: Quinta-Feira, 19 de Fevereiro de 2004
Mensagens: 3

MensagemEnviada: Ter Fev 10, 2009 10:52 am    Assunto: Triggers Replicar Inverter posição das chaves referenciadas Responder com Citação

Triggers->Replicar e inverter a posição das chaves referenciadas

Ajuda...

Por favor, necessito de sua ajuda..., no meu exemplo necessito criar a seguinte trigger...

"tabelas abaixo"

Ex:
tabela capitais
id(int), nome(varchar)
01, Florianópolis
02, Porto Alegre
03, Rio de Janeiro


tabela distancia
id1(int), id2(int), distancia(varchar), troca_posicao(char)
01 , 02 , 600Km , N

para a tabela distancia -> ao inserir dados nos campos id1, id2 e distancia
essa trigger faça a inserção contraria de valores para os campos id1 e id2 e mantenha o valor do campo distancia
Ex1: se para os campos id1=1 e id2=2 , distancia=600Km aciona a trigger que devera inserir id1=2 e id=1, distancia=600Km

Ex2
tabela distancia
id1(int), id2(int), distancia(varchar), troca_posicao(char)
01 , 02 , 600Km , N

aciona a trigger de insersão....e a próxima linnha devera conter....
02 , 01 , 600Km , S


Bom ...minha trigger ficou assim...mas não funciona....


DELIMITER $$
CREATE TRIGGER tr_duplica
AFTER INSERT ON distancia FOR EACH ROW
BEGIN
if new.troca_posicao = 'N' then
INSERT INTO distancia (NEW.id2, NEW.id1, New.distancia, 'S');
end if;
END;
$$
DELIMITER ;


alguem pode me ajudar a resolver este problema?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    Fórum DevMedia - Índice do Fórum -> MySQL Todos os horários são GMT - 3 Hours
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibído.
Responder Tópicos Proibído
Editar Mensagens: Proibído.
Excluir Mensagens: Proibído.
Votar em Enquetes: Proibído.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB