Der Fehler liegt nicht in Ihrem Verfahren. Der Fehler liegt in Ihrer Abfrage - sie gibt mehr als eine Zeile zurück, aber Sie können nicht mehrere Ergebnisse in den Skalarwert 'emp1' setzen.
Sie sollten Ihre Abfrage so begrenzen, dass sie eine Zeile zurückgibt.
Wie kann ich mehrere Zeilen aus einer gespeicherten Prozedur in MySQL abrufen?
- Plan A :Füllen Sie eine andere Tabelle, es kann eine temporäre Tabelle sein.
- Plan B :Führen Sie einfach Ihre SELECT-Anweisung ohne INTO-Klausel aus der Prozedur aus; dann könnten Sie den Datensatz aus der Anwendung lesen (c#, PHP+mysqli,...)
- Plan C :Verwenden Sie die Prozedur nicht, sondern führen Sie einfach die SELECT-Abfrage aus.