0

我正在尝试验证用户信息,如果他们具有有效的组合并更新 lastLogin 时间,则将 userExists 列返回为 true。否则,只返回false。我的 ELSE 语句出现错误。有更好的方法吗?

IF EXISTS(SELECT * FROM [User].Data WHERE username = @username 
               AND password = @password)
    UPDATE [User].Data
    SET    lastLogin = GETDATE()
    WHERE    username = @username

    SELECT 'true' AS userValid

ELSE
    SELECT 'false' AS userValid
END
4

1 回答 1

0

试试begin这样end

IF EXISTS(SELECT * FROM [User].Data WHERE username = @username 
               AND password = @password)
BEGIN --BEGIN IF BLOCK
    UPDATE [User].Data
    SET    lastLogin = GETDATE()
    WHERE    username = @username

    SELECT 'true' AS userValid
END --END IF BLOCK
ELSE
    SELECT 'false' AS userValid
END

由于 SQL 中没有大括号或缩进,因此您必须使用and来划分IF具有多个语句的块。BEGINEND

于 2013-07-29T23:27:49.607 回答