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.