【发布时间】:2015-12-28 10:58:07
【问题描述】:
我遇到了一个逻辑问题。我的触发器是:
create trigger Points1
on Posts
after insert, update
As
declare @value int
declare @postedby int
select @value= Count(Message) from Posts
select @postedby = PostedBy from Posts
update AspNetUsers set User_points = @value * 3
where ( AspNetUsers.Id = @postedby)
我不知道自己做得对不对。
两个表:以 User_points 列和 Id 列为主键的 AspNetUsers 表
以 PostId 作为主键和 PostedBy 作为外键引用 AspNetUsers 表的 Posts 表。
现在,我想比较 PostedBy 和 Id 列,如果它们都相同,则在他发布的每条消息上用 +3 更新 User_Points 列。
现在,问题是: 1> 它在每一行中插入相同数量的点。它应该只检查当前插入的行和该行的 PostedBy 列,然后与其他表的 Id 列进行比较,并且应该只更新该 Id 的用户点。
但是同样的结果什么也没发生 请告诉我该怎么做。 提前致谢
【问题讨论】:
标签: asp.net sql-server asp.net-mvc triggers