试图从mysql存储过程中获取Count单值
我试图在mysql存储过程中进行计数,但无法获得正确的语法帮助1试图从mysql存储过程中获取Count单值,mysql,stored-procedures,Mysql,Stored Procedures,我试图在mysql存储过程中进行计数,但无法获得正确的语法帮助1 delimiter// create procedure get_count_workmen_type( IN employee_payroll int, OUT mycount int ) begin SELECT count(*) into mycount from workman where employee_payroll = employee_payroll end // del
delimiter//
create procedure get_count_workmen_type(
IN employee_payroll int,
OUT mycount int
)
begin
SELECT count(*) into mycount from workman
where employee_payroll = employee_payroll
end //
delimiter;
您应该在参数名称前加前缀(我个人使用“p”)以区别于列名等。例如
其中employee\u payroll=employee\u payroll
将始终为真,因为它将列与自身进行比较
您还应该在select语句的末尾添加分号
将这两个更改放在一起,可以得到如下结果:
delimiter //
create procedure get_count_workmen_type(
IN p_employee_payroll int,
OUT p_mycount int
)
begin
SELECT count(*)
into p_mycount
from workman
where employee_payroll = p_employee_payroll;
end //
delimiter ;
天才,谢谢!我是mysql新手,所以习惯了sql server