En MySQL, variables con @
sigil son variables de sesión, no variables locales. Las variables de sesión son diferentes de las variables locales, incluso si tienen el mismo nombre que no sea @
sigilo.
Vea también algunas de mis respuestas anteriores sobre esto:
- "@" símbolo en el procedimiento almacenado?
- Error de sintaxis de MySql en el parámetro de procedimiento
- Error nulo de procedimiento almacenado