zoukankan      html  css  js  c++  java
  • aspnet_Membership_UpdateLastLoginAndActivityDates 更新最近登陆和活跃时间

     1ALTER  PROCEDURE dbo.aspnet_Membership_UpdateLastLoginAndActivityDates --更新最近登陆和活跃时间
     2    @ApplicationName          NVARCHAR(256),
     3    @UserName                 NVARCHAR(256),
     4    @TimeZoneAdjustment       INT
     5AS
     6BEGIN
     7    DECLARE @UserId UNIQUEIDENTIFIER
     8    SELECT  @UserId = NULL
     9    SELECT  @UserId = u.UserId
    10    FROM    dbo.aspnet_Membership m, dbo.aspnet_Users u, dbo.aspnet_Applications a
    11    WHERE   LoweredUserName = LOWER(@UserNameAND
    12            u.ApplicationId = a.ApplicationId  AND
    13            LOWER(@ApplicationName= a.LoweredApplicationName AND
    14            u.UserId = m.UserId
    15     ---查询符合条件的用户ID(就是用户名=@UserName的)
    16     
    17    IF (@UserId IS NULL--如果不存在,返回
    18    BEGIN
    19        RETURN
    20    END
    21
    22    DECLARE @TranStarted   BIT 
    23    SET @TranStarted = 0
    24
    25    IF@@TRANCOUNT = 0 )  --如果当前活动事务为0,开始事务,设置事务参数为1
    26    BEGIN
    27        BEGIN TRANSACTION
    28        SET @TranStarted = 1
    29    END
    30    ELSE
    31      SET @TranStarted = 0
    32
    33    DECLARE @DateTimeNowUTC DATETIME     --声明并获取当前时间
    34    EXEC dbo.aspnet_GetUtcDate @TimeZoneAdjustment@DateTimeNowUTC OUTPUT
    35
    36    UPDATE  dbo.aspnet_Membership
    37    SET     LastLoginDate = @DateTimeNowUTC
    38    WHERE   UserId = @UserId ---更新此用户的最近登陆时间
    39     
    40    IF@@ERROR <> 0 ) --如果有错误,回滚
    41        GOTO Cleanup
    42
    43    UPDATE  dbo.aspnet_Users
    44    SET     LastActivityDate = @DateTimeNowUTC
    45    WHERE   @UserId = UserId ----更新此用户的最近活跃时间
    46
    47    IF@@ERROR <> 0 )   --如果有错误,回滚
    48        GOTO Cleanup
    49
    50    IF@TranStarted = 1 )
    51    BEGIN
    52    SET @TranStarted = 0
    53    COMMIT TRANSACTION
    54    END
    55
    56    RETURN
    57
    58Cleanup:
    59
    60    IF@TranStarted = 1 )
    61    BEGIN
    62        SET @TranStarted = 0
    63        ROLLBACK TRANSACTION
    64    END
    65
    66    RETURN -1
    67
    68END
  • 相关阅读:
    排序算法之冒泡排序
    排序算法之快速排序
    排序算法之插入排序
    Java集合之LinkedList源码分析
    排序算法之选择排序
    Java集合之Vector源码分析
    Python 装饰器
    一致性哈希
    剑指Offer-数组中重复的数字
    剑指Offer-把字符串转换成整数
  • 原文地址:https://www.cnblogs.com/ruanbl/p/491049.html
Copyright © 2011-2022 走看看