Nil*_*era 0 sql sql-server stored-procedures
我想创建一个存储过程,以根据用户登录凭据返回特定的整数值.发生以下错误:
当未使用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
Run Code Online (Sandbox Code Playgroud)
我怎样才能克服这个问题?
IF((SELECT * FROM SimpleSite.dbo.Users WHERE UserName = @userName AND [Password] = @password)=1)
Run Code Online (Sandbox Code Playgroud)
这不会等于1,它将返回该行的所有字段.
把它改成这个......
IF((SELECT count(*) FROM SimpleSite.dbo.Users WHERE UserName = @userName AND [Password] = @password)=1)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
104 次 |
| 最近记录: |