PARA M VALLEJOS
mysql> create trigger bajasistema before delete on personas
-> for each row
-> insert into bajas (nombre, Nombre2, Apellido1, Apellido2, CI, Calle, NoCa
sa, Apto, Entre1, Entre2, Telefono, Sexo, IdBarrio, IdReligion, FIntrodu, Colorp
iel, IdPersonas, FBaja) select personas.nombre, personas.nombre2, personas.Apellido1, p
ersonas.Apellido2, Personas.CI, Personas.Calle, personas.NoCasa, personas.Apto,
personas.Entre1, Personas.Entre2, personas.Telefono, personas.sexo, personas.IdB
arrio, Personas.IdReligion, personas.FIntrodu, personas.ColorPiel, personas.IdPe
rsonas, Current_Date from personas;
Query OK, 0 rows affected (0.03 sec)
CON ESTE TRIGGER TRABAJA BIEN Y CADA VEZ QUE BORRO EN PERSONAS ME COPIA PARA BAJAS ,PERO ELPROBLEMA ES QUE LO COPIA TODO Y NO LA LINEAS O LA FILA QUE ESTOY BORRANDO
SALUDOS
-> for each row
-> insert into bajas (nombre, Nombre2, Apellido1, Apellido2, CI, Calle, NoCa
sa, Apto, Entre1, Entre2, Telefono, Sexo, IdBarrio, IdReligion, FIntrodu, Colorp
iel, IdPersonas, FBaja) select personas.nombre, personas.nombre2, personas.Apellido1, p
ersonas.Apellido2, Personas.CI, Personas.Calle, personas.NoCasa, personas.Apto,
personas.Entre1, Personas.Entre2, personas.Telefono, personas.sexo, personas.IdB
arrio, Personas.IdReligion, personas.FIntrodu, personas.ColorPiel, personas.IdPe
rsonas, Current_Date from personas;
Query OK, 0 rows affected (0.03 sec)
CON ESTE TRIGGER TRABAJA BIEN Y CADA VEZ QUE BORRO EN PERSONAS ME COPIA PARA BAJAS ,PERO ELPROBLEMA ES QUE LO COPIA TODO Y NO LA LINEAS O LA FILA QUE ESTOY BORRANDO
SALUDOS
No conozco MySQL, pero lo primero que veo en esa consulta es que el Select que inserta los valores, no tiene filtros, por ende siempre te va a insertar todos los registros.
En SQL Server, en la ejecución de los trigguers, hay 2 tablas de entorno que se generan, INSERTED y DELETED, que contienen temporalmente los datos del registro que estás tratando, en su estado anterior.
Esas tablas son las que se usan para recuperar los valores de filtros para actulizaciones en cascada y todo eso.
Como funcionan esas tablas
DELETED tiene el registro que se ha eliminando
INSERTED tiene el registro que se ha modificado
Cuando se modifica un registro, el motor borra el viejo e inserta otro con los valores nuevos, por eso, cuando se Updatea uno o varios registros, actuan las dos tablas.
Saludos
En SQL Server, en la ejecución de los trigguers, hay 2 tablas de entorno que se generan, INSERTED y DELETED, que contienen temporalmente los datos del registro que estás tratando, en su estado anterior.
Esas tablas son las que se usan para recuperar los valores de filtros para actulizaciones en cascada y todo eso.
Como funcionan esas tablas
DELETED tiene el registro que se ha eliminando
INSERTED tiene el registro que se ha modificado
Cuando se modifica un registro, el motor borra el viejo e inserta otro con los valores nuevos, por eso, cuando se Updatea uno o varios registros, actuan las dos tablas.
Saludos
