我有一个成绩表Score,有字段yuwen,shuxue,yingyu,Zongfen
其中Zongfen是yuwen,shuxue,yingyu 三个字段之和
现在我的意思是修改了yuwen,shuxue,yingyu 任何一个字段的数据就利用触发器自动更新Zongfen的值
我写了如下的触发器
CREATE TRIGGER [TRIGGERStudentScore] ON [dbo].[Score]  
FOR   UPDATE   AS
   if @@rowcount=0 return 
 update StudentTestScore set Zongfen=yuwen+shuxue+yingyu 
问题是此触发器可以工作,但是当多数据更新的时候速度奇慢!
请各位高手指点,究竟是哪里出了问题?
 

解决方案 »

  1.   

    CREATE TRIGGER [TRIGGERStudentScore] ON [dbo].[Score] FOR UPDATE  
    AS 
        update StudentTestScore set Zongfen = n.yuwen + n.shuxue + n.yingyu 
        from StudentTestScore m , inserted n where m.关键字 = n.关键字
    go关键字:如姓名或学号.
      

  2.   

    楼上好像不对啊,
    我有一个成绩表Score,有字段yuwen,shuxue,yingyu,Zongfen 
    其中Zongfen是yuwen,shuxue,yingyu 三个字段之和 
    现在我的意思是修改了yuwen,shuxue,yingyu 任何一个字段的数据就利用触发器自动更新Zongfen的值 
    我写了如下的触发器 
    CREATE TRIGGER [TRIGGERStudentScore] ON [dbo].[Score]  
    FOR  UPDATE  AS 
      if @@rowcount=0 return 
    update  Score set Zongfen=yuwen+shuxue+yingyu 
    问题是此触发器可以工作,但是当多数据更新的时候速度奇慢! 
    请各位高手指点,究竟是哪里出了问题? 
    刚才红色字体搞错了
      

  3.   

    update  Score set Zongfen=yuwen+shuxue+yingyu 你这条是更新所有表的数据,当然慢.
      

  4.   

    我怎么感觉这个用 excel 实现更加简单呢。