Guardar un update e insert a en distintas tablas.
Buen día.
Hola david quiero pedirle el favor de orientarme en lo siguiente:
Necesito almacenar en una tabla el update y en otra el insert, esto con el propósito de llevar un log de lo que se modifica. Lo estoy manejando con procedimiento almacenado. Tengo el siguiente código:
DELIMITER $
DROP PROCEDURE IF EXISTS `activos`.`modificar`$
CREATE PROCEDURE `modificar`(in $txtid int,in $txtusuario varchar(15),in $txtgrupo char(15),in $txtoficina int,in $txtpuesto varchar(20), in $txtactivo varchar(15),in $txtmaquina varchar(15),
in $txtserial varchar(15), in $txtso varchar(15),in $txtserialso varchar(15),in $txtip varchar(13), in $txtnompc varchar(15),in $txtram varchar(8),
in $txtoffi varchar(10),in $txtproc varchar(10),in $txtobservaciones tinytext,in $txtrespon char(20),in $txfecha date)
BEGIN
UPDATE datos SET usuario = $txtusuario,grupo=$txtgrupo, oficina = $txtoficina, puesto = $txtpuesto, activo = $txtactivo,
maquina = $txtmaquina, serialmaquina=$txtserial, so = $txtso, serialso = $txtserialso, ip = $txtip, nompc = $txtnompc, ram = $txtram,
office = $txtoffi, procesador = $txtproc, observaciones = $txtobservaciones, responsable = $txtrespon, fecha = DATE_FORMAT(NOW(), '%Y-%m-%d')
WHERE id = $txtid;
insert into historial values($txtid, $txtusuario,$txtgrupo, $txtoficina,$txtpuesto, $txtactivo, $txtmaquina, $txtserial, $txtso, $txtserialso, $txtip, $txtnompc,
$txtram, $txtoffi,$txtproc, $txtobservaciones,$txtrespon,DATE_FORMAT(NOW(), '%Y-%m-%d'));
END$
DELIMITER ;
El me modifica en la tabla de datos y me lo guarda en la tabla historial hasta ahí todo bien, ¿pero cuándo vuelvo a modificar el mismo dato el me lo modicifica en la tabla de datos pero no me lo inserta en la otra tabla que estaré haciendo mal? Necesito de sus conocimientos david. Muchas gracias por la atención prestada. Espero haberme echo entender.
Hola david quiero pedirle el favor de orientarme en lo siguiente:
Necesito almacenar en una tabla el update y en otra el insert, esto con el propósito de llevar un log de lo que se modifica. Lo estoy manejando con procedimiento almacenado. Tengo el siguiente código:
DELIMITER $
DROP PROCEDURE IF EXISTS `activos`.`modificar`$
CREATE PROCEDURE `modificar`(in $txtid int,in $txtusuario varchar(15),in $txtgrupo char(15),in $txtoficina int,in $txtpuesto varchar(20), in $txtactivo varchar(15),in $txtmaquina varchar(15),
in $txtserial varchar(15), in $txtso varchar(15),in $txtserialso varchar(15),in $txtip varchar(13), in $txtnompc varchar(15),in $txtram varchar(8),
in $txtoffi varchar(10),in $txtproc varchar(10),in $txtobservaciones tinytext,in $txtrespon char(20),in $txfecha date)
BEGIN
UPDATE datos SET usuario = $txtusuario,grupo=$txtgrupo, oficina = $txtoficina, puesto = $txtpuesto, activo = $txtactivo,
maquina = $txtmaquina, serialmaquina=$txtserial, so = $txtso, serialso = $txtserialso, ip = $txtip, nompc = $txtnompc, ram = $txtram,
office = $txtoffi, procesador = $txtproc, observaciones = $txtobservaciones, responsable = $txtrespon, fecha = DATE_FORMAT(NOW(), '%Y-%m-%d')
WHERE id = $txtid;
insert into historial values($txtid, $txtusuario,$txtgrupo, $txtoficina,$txtpuesto, $txtactivo, $txtmaquina, $txtserial, $txtso, $txtserialso, $txtip, $txtnompc,
$txtram, $txtoffi,$txtproc, $txtobservaciones,$txtrespon,DATE_FORMAT(NOW(), '%Y-%m-%d'));
END$
DELIMITER ;
El me modifica en la tabla de datos y me lo guarda en la tabla historial hasta ahí todo bien, ¿pero cuándo vuelvo a modificar el mismo dato el me lo modicifica en la tabla de datos pero no me lo inserta en la otra tabla que estaré haciendo mal? Necesito de sus conocimientos david. Muchas gracias por la atención prestada. Espero haberme echo entender.
1 Respuesta
Respuesta de davidcortesb
1