Email: xren@aionchs.com
Welcome to 永恒之塔私服|永恒之塔怀旧服|希望OL私服|aion私服  

BEGIN

    -- 检查 login_flag 是否被更新

    IF UPDATE(login_flag)

    BEGIN

        DECLARE @tag INT, @user_no VARCHAR(14), @login_time DATETIME, @mSec INT;


        -- 从 inserted 表中获取值

        SELECT @tag = login_flag, @user_no = user_no FROM inserted;


        -- 检查 login_flag 的值

        IF @tag = 0

        BEGIN

            -- 获取用户的登录时间

            SELECT @login_time = login_time FROM user_online WHERE user_no = @user_no;


            -- 计算时间差(秒)

            SET @mSec = DATEDIFF(SECOND, @login_time, GETDATE());


            -- 更新用户现金金额,每 10 分钟增加 1 单位现金

            UPDATE cash.dbo.user_cash 

            SET amount = amount + (ISNULL(@mSec, 0) / 600) -- 600 秒 = 10 分钟

            WHERE user_no = @user_no;

        END

        ELSE

        BEGIN

            -- 插入新的在线用户记录

            INSERT INTO user_online (user_no, login_time, login_flag)  -- 请根据实际列名替换

            VALUES (@user_no, GETDATE(), 0);  -- 确保这里的列名与 user_online 表的结构一致

        END

    END

END;


文章出处:挑战OL在线泡点方法_永恒之塔私服|永恒之塔怀旧服|希望OL私服|aion私服 官方网址:http://www.aionchs.com/