Mysql
 sql >> Database >  >> RDS >> Mysql

In MySQL:come passare il nome di una tabella come procedura memorizzata e/o argomento di funzione?

Dichiarazioni preparate sono ciò di cui hai bisogno.

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 $$