Desea asignar el resultado de una consulta a una variable, pero en realidad solo select
En g. Es por eso que MySQL se queja.
Tienes que cambiar esto
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 ;
Y debe agregar un ORDER BY
. Un LIMIT
sin ORDER BY
no tiene sentido, ya que no hay un orden garantizado en una base de datos relacional.