日期:2014-05-17  浏览次数:20612 次

关于update和insert,下面上实例,求赐教
我建有两个触发器,一个是insert,另一个是update,在实验的时候,发现insert可以正常处理,而update就重复操作了,比如我往借阅信息表中添加一条记录,状态为未还,insert的触发器使得5变为4,而如果修改状态为已还,4就变为6了,请大神指教一下,个人感觉就是insert和update的问题下面上代码

ALTER TRIGGER [dbo].[before_insert_jieyue1] ON [dbo].[借阅信息表]
     FOR insert
 AS
IF EXISTS ( SELECT  1
                     FROM    dbo.借阅信息表
                     WHERE   读者编号 IN ( SELECT    读者编号
                                       FROM      inserted )
                             AND 状态  IN ( '未还' ) ) 
          BEGIN    
                    update dbo.读者信息表
                    set 当前可借数=当前可借数-1
                    where 读者编号=(select 读者编号 from inserted)
                    update dbo.读者信息表
                    set 借阅次数=借阅次数+1
                    where 读者编号=(select 读者编号 from inserted)
                    update dbo.图书资料表
                    set 馆内剩余本数=馆内剩余本数-1
                    where 图书编号=(select 图书编号 from inserted) 
end
这是insert的,下面是update的

ALTER TRIGGER [dbo].[before_insert_jieyue] ON [dbo].[借阅信息表]
     FOR update
 AS
IF EXISTS ( SELECT  1
                     FROM    dbo.借阅信息表
                     WHERE   读者编号 IN ( SELECT    读者编号
                                       FROM      inserted )
                             AND 状态&n