2 u013983498 u013983498 于 2015.06.11 22:48 提问

sql触发器结果没有更新

create trigger tr_cost
on stu_inf
for update
as
declare @bukao int
begin

select @bukao=补考次数
from v_cost

if @bukao>=2
begin

update stu_inf

set 学习费用=学习费用 * 1.1
where 学员编号 in(select 学员编号
from stu_inf)
end
end

#

请问这个触发器为什么在表中没有显示结果,stu_inf 表中学生费用还是没有变化

2个回答

danielinbiti
danielinbiti   Ds   Rxr 2015.06.11 23:15
已采纳
虽然逻辑有些不正常,但触发器应该没问题,是有反应的,
1、看一下v_cost最后一条记录的补考次数是否是大于等于2的,也就是如果v_cost有2条记录,第一条补考次数是3,第二条记录补考次数是1,则结果@bukao的值是1
2、触发器需要是update stu_inf表的时候才执行,insert或者delete无效。

u013983498
u013983498 补考次数都是2呢
2 年多之前 回复
Carry_Dominator
Carry_Dominator   2015.06.11 22:57

这个在这里真的不好说啊!

Csdn user default icon
上传中...
上传图片
插入图片