35 lines
1019 B
SQL
35 lines
1019 B
SQL
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 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(255) DEFAULT CONCAT(IFNULL(vEntity, ''), 'Log');
|
|
|
|
SET @sqlQuery = CONCAT(
|
|
'INSERT INTO vn.', vTableName, ' SET originFk = ?, userFk = ?, action = ?, description = ?'
|
|
);
|
|
SET @originFk = vOriginFk;
|
|
SET @userFk = vUserId;
|
|
SET @action = vActionCode;
|
|
SET @description = vDescription;
|
|
|
|
PREPARE stmt FROM @sqlQuery;
|
|
EXECUTE stmt USING @originFk, @userFk, @action, @description;
|
|
DEALLOCATE PREPARE stmt;
|
|
|
|
SET @sqlQuery = NULL;
|
|
END$$
|
|
|
|
DELIMITER ;
|
|
|