PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Triggers Replicar Inverter posição das chaves referenciadas #31323

10/02/2009

0

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)
[b:dd33feec30] 01 , 02 , 600Km , N[/b:dd33feec30]

aciona a trigger de insersão....e a próxima linnha devera conter....
[b:dd33feec30] 02 , 01 , 600Km , S[/b:dd33feec30]


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


[b:dd33feec30]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 ;[/b:dd33feec30]

alguem pode me ajudar a resolver este problema?


Mcasagra

Mcasagra

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar