[求助]一个莫名其妙的存储过程错误
--创建存储过程(是验证登陆的,输入参数是登陆名LoginName和密码Password1,输入参数是昵称UserName)create procedure checkLogin
@LoginName varchar(20),
@Password1 varchar(20),
@UserName varchar(20) output
as
select @UserName=UserName from UserInfo where LoginName = @LoginName and password = @Password1
return @UserName
go
--执行存储过程(登陆名为zc密码为123对应的这一列的UserName是'如果-爱' ),表中根本没有INT类型,为什么会有这样的错误?请高手指点,谢谢谢谢
declare
@UserName varchar(20)
begin
exec checkLogin 'zc','123',@UserName
print @UserName
end
--错误:
服务器: 消息 245,级别 16,状态 1,过程 checkLogin,行 7
将 varchar 值 '如果-爱' 转换为数据类型为 int 的列时发生语法错误。