Mysql
 sql >> Database >  >> RDS >> Mysql

Mysql:non è consentito restituire un set di risultati da una funzione

Vuoi assegnare il risultato di una query a una variabile, ma in realtà sei solo select ing. Ecco perché MySQL si lamenta.

Devi cambiarlo

            SELECT  p_KeyValue = ListName + '.' + Value
            FROM ListsTable
            WHERE EntryID = p_ParentID  LIMIT 1 ;

a

            SELECT CONCAT(ListName, '.', `Value`)
            INTO p_KeyValue
            FROM ListsTable
            WHERE EntryID = p_ParentID  LIMIT 1 ;

E dovresti aggiungere un ORDER BY . Un LIMIT senza ORDER BY non ha senso, poiché non esiste un ordine garantito in un database relazionale.