33 lines
981 B
MySQL
33 lines
981 B
MySQL
|
USE `vn`;
|
||
|
DROP procedure IF EXISTS `logAddWithUser`;
|
||
|
|
||
|
DELIMITER $$
|
||
|
USE `vn`$$
|
||
|
CREATE DEFINER=`root`@`%` PROCEDURE `logAddWithUser`(vOriginFk INT, vUserId INT, vActionCode VARCHAR(45), vEntity VARCHAR(45), vDescription TEXT)
|
||
|
BEGIN
|
||
|
/**
|
||
|
* Guarda las acciones realizadas por el usuario
|
||
|
*
|
||
|
* @param vOriginFk Id del registro de origen.
|
||
|
* @param vUserId Id del usuario.
|
||
|
* @param vActionCode Código de la acción {insert | delete | update}.
|
||
|
* @param vEntity Nombre que hace referencia a la tabla.
|
||
|
* @param descripcion Descripción de la acción realizada por el usuario.
|
||
|
*/
|
||
|
DECLARE vTableName VARCHAR(45);
|
||
|
|
||
|
SET vTableName = CONCAT(vEntity, 'Log');
|
||
|
|
||
|
SET @qryLog := CONCAT(
|
||
|
'INSERT INTO ', vTableName, ' (originFk, userFk, action, description)',
|
||
|
' VALUES (', vOriginFk, ', ', vUserId, ', "', vActionCode, '", "', vDescription, '")'
|
||
|
);
|
||
|
|
||
|
PREPARE stmt FROM @qryLog;
|
||
|
EXECUTE stmt;
|
||
|
DEALLOCATE PREPARE stmt;
|
||
|
END$$
|
||
|
|
||
|
DELIMITER ;
|
||
|
|