sql >> Database >  >> RDS >> Mysql

MySQL zei:#1415 - Het is niet toegestaan ​​om een ​​resultaatset van een functie te retourneren

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.




  1. Waarde in de database invoegen met behulp van een voorbereide instructie

  2. BULK INSERT-probleem in MySQL

  3. Hoe een langlopende databasebewerking annuleren?

  4. Tijdig interval om gegevens uit db op te halen en te stoppen wanneer de gegevens aankomen