Problemas al momento de replicar datos
Publicado por Eduardo (1 intervención) el 29/10/2017 18:41:45
Hola tengo problemas al momento de hacer la replicación en dos base de datos de manera local. Necesito hacerla mediante el uso de triggers, todo lo que haga en la base A debe hacerse en la base B y viceversa. He creado los siguientes trigger para borrar registros de una tabla en ambas tablas. Este es el trigger en la base A que borrara un registro en b
y este es el trigger en la base b
Cuando borro registros en la base B también me los borra en la base A, pero cuando borro en la base A me manda el error 1442... alguien podría ayudarme?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
create trigger borrar_emp_en_b
after delete on basea.empleado
for each row
begin
DECLARE s SMALLINT;
SET s = (select COUNT(*) from asigna, empleado WHERE empleado.idemp= asigna.idemp and asigna.idemp=OLD.idemp);
IF (s > 0) then BEGIN
END;
ELSE begin
declare m smallint;
set m=(select COUNT(*) from baseb.empleado WHERE empleado.idemp= OLD.idemp);
if(m>0)then begin
delete ignore from baseb.empleado where empleado.idemp=OLD.idemp;
end; end if;
end;
end if;
end $$
y este es el trigger en la base b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
create trigger borrar_emp_en_a
after delete on baseb.empleado
for each row
begin
DECLARE s SMALLINT;
SET s = (select COUNT(*) from asigna, empleado WHERE empleado.idemp= asigna.idemp and asigna.idemp=OLD.idemp);
IF (s > 0) then BEGIN
END;
ELSE
delete ignore from basea.empleado where empleado.idemp=OLD.idemp;
end if;
end $$
Cuando borro registros en la base B también me los borra en la base A, pero cuando borro en la base A me manda el error 1442... alguien podría ayudarme?
Valora esta pregunta
0