Ya lo probé.
MySQL no admite el EXECUTE dentro de un IF/END IF.
Lo que te conviene es hacerlo de otro modo:
Código MySQL:
Ver originalDELIMITER $$
SET @query
= CONCAT('SELECT ', in_validador_campo
, ' INTO @RESULT FROM ',in_table
,' WHERE ',in_validador_campo
,' = ',in_validador_valor
); PREPARE stmt
FROM @query
; SET @qry
= CONCAT('INSERT INTO ',in_table
,' (',in_campos
,') VALUES (',in_valores
,')'); EXECUTE stmt1;
DEALLOCATE PREPARE stmt;
DEALLOCATE PREPARE stmt1;
DELIMITER ;
No he probado si resulta...