MySQL Forums
Forum List  »  Italian

Funzioni passaggio di parametri (Risolto)
Posted by: Fabrizio Marazita
Date: April 17, 2010 04:54AM

Salve ho un problema con una funzione

La funzione prova (varchar) dovrebbe prendere nome della tabella fornito in input e fare un'interrogazione alla stessa tabella ( nel codice per semplificare ho scritto di ricercare il minimo)

però dal comando per richiamare la funzione
select prova ('Casa')

mi da l'errore ovviamente: Non esiste la tabella Nometabella (nome della variabile che dovrebbe contenere il valore casa passato alla funzione)


come faccio ad indicare nella funzione che voglio il valore??

Non mi sarò spiegato bene qui comunque sta il codice

DELIMITER $$
DROP FUNCTION Prova$$
CREATE FUNCTION Prova(Nometabella varchar(100)) 
RETURNS datetime
begin

DECLARE MinVal datetime;

select Min(date) 
into MinVal
from Nometabella; **

/* **qui come si fa in altri linguaggi si dovrebbe forse indicare $Nometabella o &Nometabella ma nel primo se lo prende ma genera errore ' non esiste una tabella che si chiama $NomeTabella ' nel secondo caso genera solamente errore
*/
RETURN MinVal;


end$$

DELIMITER ;
Quindi come si indica il valore ?? se fosse stato un valore da inserire o da selezionare non so perchè ma se lo prende tranquillamente ma quando la variabile viene utilizzata al posto del nome della tabella non riconosce il valore...



Edited 2 time(s). Last edit at 05/04/2010 03:50AM by Fabrizio Marazita.

Options: ReplyQuote


Subject
Views
Written By
Posted
Funzioni passaggio di parametri (Risolto)
6031
April 17, 2010 04:54AM
2564
April 21, 2010 06:23PM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.