我编写了一个存储过程来返回计数。但我得到了一个空值。谁能告诉我我的存储过程中的问题出在哪里。
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [dbo].[ValidateUser]
@UserName varchar(50),
@Password varchar(50),
@Num_of_User int output
AS
BEGIN
SET NOCOUNT ON;
SELECT @Num_of_user =COUNT(*)
FROM login
WHERE username = @UserName
AND pw = @Password
RETURN
END
最佳答案
您正在将值设置到变量@num_of_user中。在查询后添加 select @num_of_user
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [dbo].[ValidateUser]
@UserName varchar(50),
@Password varchar(50),
@Num_of_User int output
AS
BEGIN
SET NOCOUNT ON;
SELECT @Num_of_user =COUNT(*)
FROM login
WHERE username=@UserName AND pw=@Password
SELECT @Num_of_user
return
END
关于sql - 存储过程中的返回计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5144584/