haigerrr 2015-06-11 14:48 采纳率: 50%
浏览 1612
已采纳

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 2015-06-11 15:15
    关注
    虽然逻辑有些不正常,但触发器应该没问题,是有反应的,
    1、看一下v_cost最后一条记录的补考次数是否是大于等于2的,也就是如果v_cost有2条记录,第一条补考次数是3,第二条记录补考次数是1,则结果@bukao的值是1
    2、触发器需要是update stu_inf表的时候才执行,insert或者delete无效。
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
  • ¥15 钢筋实图交点识别,机器视觉代码
  • ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
  • ¥50 400g qsfp 光模块iphy方案
  • ¥15 两块ADC0804用proteus仿真时,出现异常