Felet finns inte i din procedur. Felet finns i din fråga - den returnerar mer än en rad, men du kan inte ställa in flera resultat i det skalära värdet 'emp1'.
Du bör begränsa din fråga så att den returnerar en rad.
Hur hämtar man flera rader från lagrad procedur i mysql?
- Plan A :Fyll en annan tabell, det kan vara en tillfällig tabell.
- Plan B :Kör bara din SELECT-sats utan INTO-sats från proceduren; sedan kan du läsa datamängder från applikationen (c#, PHP+mysqli,...)
- Plan C :Använd inte proceduren, kör bara SELECT-frågan.