mysql stored procedure (conversione testo in nome campo)

  • Creatore Discussione Creatore Discussione robyf1
  • Data di inizio Data di inizio

robyf1

Nuovo Utente
4 Giu 2009
2
0
0
Ciao, devo precisare che sono alle prime armi con my sql.
mi sapete dire se posso convertire una stringa, immessa come parametro di una store procedure, in un nome di campo: cerco di spiegarmi con un esempio:

CREATE DEFINER=`root`@`localhost` PROCEDURE `ricercaProgramma`(IN pos VARCHAR(45))
BEGIN
SELECT pos FROM programmi WHERE programmi.programma='default';
END $$

Ho una tabella programmi fatta così:

Campo
pos1

Campo
pos2

Campo
pos..

Campo
programma

lancerei la procedure così:
call ricercaProgramma('pos2');
 
Ho risolto così, anche se non mi sembra elegantissimo...:

SET @q = CONCAT('SELECT DISTINCT ',pos,' FROM ', 'programmi WHERE programma = \'default\'');

PREPARE stmt FROM @q;
EXECUTE stmt;

Grazie lo stesso
 

Discussioni simili