Chcesz przypisać wynik zapytania do zmiennej, ale w rzeczywistości wystarczy select
inż. Dlatego MySQL narzeka.
Musisz to zmienić
SELECT p_KeyValue = ListName + '.' + Value
FROM ListsTable
WHERE EntryID = p_ParentID LIMIT 1 ;
do
SELECT CONCAT(ListName, '.', `Value`)
INTO p_KeyValue
FROM ListsTable
WHERE EntryID = p_ParentID LIMIT 1 ;
I powinieneś dodać ORDER BY
. LIMIT
bez ORDER BY
nie ma sensu, ponieważ nie ma gwarantowanego porządku w relacyjnej bazie danych.