使用SQL Server Trigger更新Insert上的旧行

时间:2012-07-30 07:23:56

标签: asp.net sql-server entity-framework-4

我有包含所有用户帐户详细信息的用户表,包括带有位数据类型的IsLoggedIn字段。当用户在上一个会话到期之前启动新会话时,我想用IsLoggedIn = 1更新任何旧行。实现这一目标的最佳方法是什么?是否可以使用Trigger执行此操作?

提前致谢..

2 个答案:

答案 0 :(得分:1)

您肯定会有两件事情.1)用户ID和2)数据库中的会话ID。

现在当新的会话启动(session_Start)事件触发时...你可以用逻辑调用一个存储过程,逻辑将是

1)如果没有具有相同userID的记录,则不进行任何更新。 2)如果有任何具有相同userID的记录,则使用IsLoggedIn = 1更新所有记录。

您也可以使用TRIGGER扩展此逻辑,并根据需要进行绑定。

基本上,您需要跟踪session_Start事件并执行数据库操作。

答案 1 :(得分:1)

触发器不是建议的解决方案,因为您需要处理来自UI的登录。如果只有一次登录,则可以使用Application_Start。如果可以有多个登录,则Session_Start更可取。从那里,您可以调用数据库并执行相应的操作 两者之间的差异解释如下:http://forums.asp.net/t/1230163.aspx/1?What+s+the+difference+between+Application_Start+and+Session_Start+in+Global+aspx+

相关问题