De foutmelding in dit geval vertelt het belangrijkste deel:
Dit gedrag komt overeen met wat is gedocumenteerd in de MySQL-handleiding over opgeslagen procedures en functies:
U wijst waarden toe aan uw @Pn
variabelen die select-instructies gebruiken die een resultatenset retourneren en dit is niet toegestaan in een functie. U moet deze verklaringen uit uw code verwijderen. RETURN river
retourneert een resultaat waarde , maar geen resultaat set .
Ik maak me ook zorgen dat je sessievariabelen gebruikt (variabelen gedefinieerd als @variabele_naam) die via een verbinding worden gedeeld, dus mogelijk meerdere oproepen naar dezelfde functie tegelijkertijd binnen een verbinding kunnen met elkaar interfereren.
Een opgeslagen functie moet slechts één enkele waarde retourneren als uitvoer met de return
uitspraak. Al het andere wordt als een bijwerking beschouwd. Als u wilt dat uw MySQL-script meerdere variabelen vult, moet u moet Als u een opgeslagen procedure gebruikt, kunt u geen opgeslagen functie gebruiken.