MySQL 不确定原因的未声明变量错误

MySQL Undeclared variable error not sure why

我写的这个程序有问题。它给了我一个未声明的 var 错误,我不知道为什么。我试过了

employee_id as id

with no luck.I 在同一语句中也有 select MIN 和 MAX,但它抛出相同的未声明错误,因此我不得不将其拆分。欢迎所有建议,谢谢!

程序

delimiter $
drop procedure if exists Q3;
create procedure Q3(emp1 decimal(6), emp2 decimal(6), emp3 decimal(6))
BEGIN
    declare sal1 decimal(8,2);  
    declare sal2 decimal(8,2);  
    declare sal3 decimal(8,2);  
    declare empH decimal(6);
    
    
    select MAX(sl) into sal1, employee_id into empH from (
        select salary as sl, employee_id 
        from employees 
        where employee_id = emp1 
        OR employee_id = emp2
        OR employee_id = emp3
    ) as emp_sl;
    
    select MIN(sl) into sal2 from (
        select salary as sl from employees 
        where employee_id = emp1 
        OR employee_id = emp2
        OR employee_id = emp3
    ) as sals;
    
    select sal1;
    select sal2;    
    
    
END$
delimiter ;

员工table

+----------------+--------------+------+-----+---------+-------+
| Field          | Type         | Null | Key | Default | Extra |
+----------------+--------------+------+-----+---------+-------+
| employee_id    | decimal(6,0) | NO   | PRI | NULL    |       |
| first_name     | varchar(20)  | YES  |     | NULL    |       |
| last_name      | varchar(25)  | NO   |     | NULL    |       |
| email          | varchar(25)  | NO   | UNI | NULL    |       |
| phone_INT      | varchar(20)  | YES  |     | NULL    |       |
| hire_date      | date         | NO   |     | NULL    |       |
| job_id         | varchar(10)  | NO   |     | NULL    |       |
| salary         | decimal(8,2) | YES  |     | NULL    |       |
| commission_pct | decimal(2,2) | YES  |     | NULL    |       |
| manager_id     | decimal(6,0) | YES  |     | NULL    |       |
| department_id  | decimal(4,0) | YES  |     | NULL    |       |
+----------------+--------------+------+-----+---------+-------+

和错误

ERROR 1327 (42000) at line 3: Undeclared variable: employee_id

尝试改变

select MAX(sl) into sal1, employee_id into empH

select MAX(sl), employee_id into sal1, empH

into 之后的所有内容都需要是一个变量,并且只需要使用一次。