Ciao a tutti, ho un problema con una semplice sp...io vorrei inserire nei parametri anche il nome della tabella,visto che devo fare delle insert identiche per inizializzare delle tabelle...la sp è questa:

DELIMITER $$

DROP PROCEDURE IF EXISTS `prova`.`compila` $$
CREATE PROCEDURE `prova`.`compila` (IN nrighe INT, IN tabella VARCHAR(15))
BEGIN
DECLARE contatore INT;
SET contatore=1;

/*prova che non funziona:
declare tab varchar(5);
set tab=tabella;
poi mettevo tab nella query...ho provato anche con `tabella ma da errore`*/

REPEAT
INSERT INTO tabella(vincitore) VALUES ('Non vincitore');
SET contatore = contatore + 1;
UNTIL contatore >= nrighe
END REPEAT;
END $$

DELIMITER ;

Se nella insert metto il nome della tabella funziona, se lo metto come parametro no:
es: call compila(12)---->ok
Se modifico codice come sopra call compila(12,'miatabella') mi dice che la tabella miodatabese.tab non esiste, cioè il parametro non viene preso...
Ho letto le guide sulle sp anche dal sito di mysql,ma non ci sono esempi con insert parametrizzate...qualcuno per piacere può aiutarmi?
Sbaglio qualcosa nella sintassi/assegnazione dei parametri?
Ho provato anche a dichiarare una var e poi assegnarli il parametro, il problema è che prende gli ' ' e non funziona (vedere righe commentate)
Grazie per l'aiuto

PS. uso mysql 5.1 e query browser 1.2.17