amesoft 2021-05-26 23:38 采纳率: 0%
浏览 60

sql触发器,if语句无法进行条件筛选

c_total 为班级人数

如图所示代码,创建触发器之后,如果对student表进行更新,

假设将 a号班级的学生修改为了b号班级

a号班级人数会-2,而b号班级人数会+2

显然这三个if同时最多只能有一个为真,而它们为什么全部执行了

  • 写回答

4条回答 默认 最新

  • 「已注销」 2021-05-27 00:34
    关注

    你说的全都执行是什么意思,全都执行可能并不是全都执行了,而是每一次都执行第一个if语句。班级人数在数据库的表中,肯定是非空的呀,你要判断它存不存在,用exists语句判断,不是null,判断是否存在,不是判断是否非空。

    评论

报告相同问题?

悬赏问题

  • ¥15 Windows下部署Asmjit
  • ¥15 请问双层规划模型的上下层目标函数不一致,是如何保证迭代收敛性的
  • ¥15 微信小程序 前端页面内容搜索
  • ¥15 cpu是如何判断当前指令已经执行完毕,然后去执行下条指令的
  • ¥15 安装visual studio2022时visualstudiosetup启动不了,闪退。问题代号0x0和0x1389
  • ¥30 java spring boot2.5.3版本websocket连不上
  • ¥15 angular js调外部链接查看pdf
  • ¥15 openFOAM DPMFoam
  • ¥15 将查询到的值,赋值到table指定行中
  • ¥50 docker容器内部启动shell脚本多命令