我现在正在学习mysql,我刚刚为自己创建了一个小项目来使用它,但是没有成功。这就是我想要达到的目标:通过计算社保号码来计算总共有多少员工,因为不止一个人可以拥有相同的名字对吗?所以我创造了这个程序。以下内容:
drop procedure if exists out_count_employees;
delimiter ^^
create procedure out_count_employees (IN Social_S_N char(9), OUT SumTotal int)
begin
select COUNT(dno)
into SumTotal
from employee
where Social_S_N = ssn;
end ^^
delimiter ;
call out_count_employees('ssn', @SumTotal);
select @SumTotal;
我看到一个例子,他们在使用计数,但在这种情况下不起作用…
表名是employee,我使用的字段是ssn,它只存储最大长度为9的int
谢谢你的帮助
最佳答案
where子句不应该出现在那里,它只计算一些雇员。尝试使用到:
如果存在员工辍学程序;
delimiter ^^
create procedure out_count_employees (IN Social_S_N char(9), OUT SumTotal int)
begin
select COUNT(*)
into SumTotal
from employee;
end ^^
delimiter ;
关于mysql - 存储过程-计算行数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49825542/