【发布时间】:2016-11-22 18:16:33
【问题描述】:
我想创建一个存储过程来根据用户登录凭据返回特定的整数值。出现以下错误:
当不使用 EXISTS 引入子查询时,选择列表中只能指定一个表达式。
这是我的查询:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE Login
-- Add the parameters for the stored procedure here
@userName nvarchar(100),
@password nvarchar(100)
AS
BEGIN
SET NOCOUNT ON;
IF((Select COUNT(*) as Count FROM SimpleSite.dbo.Users WHERE UserName = @userName)=1)
BEGIN
IF((SELECT * FROM SimpleSite.dbo.Users WHERE UserName = @userName AND [Password] = @password)=1)
-- valid login
RETURN 1
ELSE
-- wrong password
RETURN 2
END
ELSE
-- No account associated with the username
RETURN 3
END
GO
我该如何克服这个问题?
【问题讨论】:
-
您有两个选择。其中一个有什么不同的方法吗?
标签: sql sql-server stored-procedures