Di MySQL, variabel dengan @ sigil adalah variabel sesi, bukan variabel lokal. Variabel sesi berbeda dari variabel lokal, meskipun mereka memiliki nama yang sama selain @ sigil.
Lihat juga beberapa jawaban saya sebelumnya tentang ini:
- "@" simbol dalam prosedur tersimpan?
- Kesalahan sintaks MySQL pada parameter prosedur
- Stored Procedure Null Error