首页 > 文章列表 > MySQL 存储过程 Num 值始终为 0,问题出在哪里?

MySQL 存储过程 Num 值始终为 0,问题出在哪里?

487 2024-12-01

MySQL 存储过程 Num 值始终为 0,问题出在哪里?

为什么这个 mysql 存储过程输出的 num 永远都是 0?

在一份旨在统计分数低于 60 分的学生人数的存储过程中,出现了 num 始终为 0 的问题。

仔细检查后发现,问题出在 ttempsno 变量的声明中:

declare tempsno varchar(30);

当 ttempsno 被用作条件判断时,其值为 null,导致 if 语句无法执行。

正确的声明方式应为:

declare TempSno varchar(30) default '';

现在,如果 tempsno 为 null,则将初始化为空字符串,从而允许 if 语句正确执行。

因此,num 值才能准确统计出来,反映出符合条件的学生人数。

来源:1730334371