sql >> Base de Datos >  >> RDS >> Mysql

En MySQL:¿Cómo pasar un nombre de tabla como procedimiento almacenado y/o argumento de función?

Declaraciones preparadas son lo que necesitas.

CREATE  PROCEDURE `test1`(IN tab_name VARCHAR(40) )
BEGIN
 SET @t1 =CONCAT('SELECT * FROM ',tab_name );
 PREPARE stmt3 FROM @t1;
 EXECUTE stmt3;
 DEALLOCATE PREPARE stmt3;
END $$