哎呀 刚发出去就触发了
高手看看 是不是这样啊
CREATE TRIGGER [upt_album_views] ON [dbo].[hl_ualbumpic]
FOR UPDATE
AS
---注释
---当用户浏览图片时 程序更新hl_ualbumpic.pview的浏览次数
---本触发器 当hl_ualbumpic.pview更新时
---自动更新hl_ualbum.aview相册浏览次数
begin
declare @cnt int
declare @aid varchar(50)
select @cnt = pview,@aid = aid from inserted
--select @aid = aid from inserted
--单纯使用 + 1 可能会有逻辑错误
--当hl_ualbumpic.pview的执行操作是 - 1 时
--hl_ualbum.aview也应该执行 - 1 操作,这时可能引起该逻辑错误
--不过通常情况下,我们还是执行 + 1 操作
--注意:
--这里做了更新字段的判断!!!
--因为有可能本表有多种update
--这里只针对pview浏览次数的更新做出操作
if update(pview)
begin
update hl_ualbum set aview=aview + 1 where aid = @aid
end
end
create trigger tr_tb1_u on pic for update
as
begin
if exsits( select 1 from deleted,inserted where deleted.key = inserted.key AND deleted.view <> inserted.view )
update tb2 set view = inserted.view from inserted,tb2 where tb2.key = inserted.key
create trigger tr_tb1_u on tb1 for update
as
begin
if exsits( select 1 from deleted,inserted where deleted.key = inserted.key)
update tb2 set view = inserted.view from inserted,tb2 where tb2.key = inserted.key