Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL :Es ist nicht erlaubt, eine Ergebnismenge von einer Funktion zurückzugeben

Sie möchten das Ergebnis einer Abfrage einer Variablen zuweisen, aber eigentlich sind Sie nur select ing. Darum beschwert sich MySQL.

Das müssen Sie ändern

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

zu

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

Und Sie sollten einen ORDER BY hinzufügen . Ein LIMIT ohne ORDER BY macht keinen Sinn, da es in einer relationalen Datenbank keine garantierte Reihenfolge gibt.