que tal amigos, estoy trabajando con este procedimiento almacenado, la intencion es hacerlo generico, la parte del insert ya esta, le mando la tabla, los campos de la tablas y los valores respectivos, pero ahora antes de eso debo verificar si ese dato no existe y tmb debe ser dinamico, le mando un valor y el campo que debe de chekar mi problema es a la hora de ejecutar ese query ( en negrito ) dentro del IF, a ver si alguien tiene una propuesta, saludos
CREATE DEFINER=`root`@`localhost` PROCEDURE `spInsertGenerico`(
IN in_validador_campo varchar(255),
IN in_validador_valor varchar(255),
IN in_table varchar(255),
IN in_campos text,
IN in_valores text
)
MODIFIES SQL DATA
BEGIN
SET @query = CONCAT('SELECT * FROM ',in_table,' WHERE ',in_validador_campo,' = ',in_validador_valor);
PREPARE stmt FROM @query;
IF NOT EXISTS (EXECUTE stmt) THEN
SET @qry = CONCAT('INSERT INTO ',in_table,' (',in_campos,') VALUES (',in_valores,')');
PREPARE stmt1 FROM @qry;
EXECUTE stmt1;
END IF;
END