Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

No MySQL:Como passar um nome de tabela como procedimento armazenado e/ou argumento de função?


Declarações preparadas são o que você precisa.
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 $$