我这个存储过程对吗?
有个test表,有用户名和密码。
存储过程的功能是:该存储过程的作用是验证用户密码。返回值:当用户名和密码一致,返回0;当用户名和密码不一致,返回1;当用户名不存在时,返回-1
我是这样写的:
create procedure test
@username char(8),
@pwd char(10),
@result int out
as
declare @cnt int
select @cnt=count(用户名) from userinfo where 用户名=@username
if @cnt=0
return -1
else
begin
select @cnt=count(用户名) from userinfo where 用户名=@username and 用户密码=@pwd
if @cnt<>0
return 0
else
return 1
end
然后执行下面的语句:
declare @result int
exec test 'test','test',@result output
select @result
结果返回NULL。
哪里有问题?