问题描述
- sql触发器结果没有更新
- create trigger tr_cost
on stu_inf
for update
as
declare @bukao int
beginselect @bukao=补考次数
from v_costif @bukao>=2
beginupdate stu_inf
set 学习费用=学习费用 * 1.1
where 学员编号 in(select 学员编号
from stu_inf)
end
end#
请问这个触发器为什么在表中没有显示结果,stu_inf 表中学生费用还是没有变化
解决方案
虽然逻辑有些不正常,但触发器应该没问题,是有反应的,1、看一下v_cost最后一条记录的补考次数是否是大于等于2的,也就是如果v_cost有2条记录,第一条补考次数是3,第二条记录补考次数是1,则结果@bukao的值是12、触发器需要是update stu_inf表的时候才执行,insert或者delete无效。
解决方案二:
这个在这里真的不好说啊!
时间: 2024-10-24 16:52:39