2012-11-06 16 views
12

Sto usando MySQL. Voglio restituire la tabella usando la funzione MySQL. In SQL funziona bene ma non in MySQL. Allego il mio codice parzialeCome restituire la tabella usando mysql Funzione

DELIMITER $$ 

    CREATE FUNCTION myFunction() RETURNS @tmptable TABLE (item varchar(20)) 
    BEGIN 

     insert into @tmptable(item) values('raja')  


     return 
    END; $$ 
+2

In MySQL, una funzione non può restituire una tabella. Dovresti usare una procedura memorizzata per quello. –

+4

Cosa intendi con "* In SQL funziona bene? *". Tu ** stai ** usando SQL .... –

risposta

9

Utilizzando le funzioni non è possibile restituire un tavolo.

Tuttavia è possibile utilizzare la stored procedure per restituire la tabella.

DELIMITER $$ 

CREATE DEFINER=`root`@`%` PROCEDURE `sp_Name`(OUT po_ErrMessage VARCHAR(200)) 
BEGIN 
DECLARE EXIT HANDLER FOR SQLEXCEPTION 
BEGIN 
SET po_ErrMessage = 'Error in procedure sp_Name'; 
END; 

SELECT * FROM table_name; 
END 
+1

Ya sta lavorando bene nella procedura. C'è un modo per restituire più di una riga utilizzando la funzione MySQL. Se Possibile significa dare l'esempio – Bharathi

+0

Puoi controllare questo: - http://stackoverflow.com/questions/10850731/mysql-return-more-than-one-row Sarà sicuramente d'aiuto !!! –

Problemi correlati