Ein SP kann nicht mit einem dynamischen Tabellennamen optimiert werden, daher erlauben viele DBs, einschließlich MySQL, keine dynamische Angabe von Tabellennamen.
Eine Möglichkeit, dies zu umgehen, ist die Verwendung von Dynamic SQL.
CREATE DEFINER=`root`@`localhost` PROCEDURE `test_proc`(IN serviceName VARCHAR(10),IN newsInfoTable VARCHAR(100))
BEGIN
SET @sql = CONCAT('SELECT COUNT(*) FROM ',newsInfoTable,' WHERE newsServiceName=?;');
PREPARE s1 from @sql;
SET @paramA = serviceName;
EXECUTE s1 USING @paramA;
END$$