create proc checkuser
    @userID nvarchar(50),@userPWD nvarchar(50),@message char(10) output
as
if len(@userID)=0 then @message='用户名不能为空'
else 
begin declare @countuser integer
select @countuser=count(*) from Muser where userID=@userID
end
if @countuser=0 then @message='用户不存在'
else
begin declare @pwd integer
select @pwd=userPWD from Muser where userID=@userID
end
if @pwd=@userPWD then @message='成功'
else @message='密码错误'我是初学者,这样写对吗?
如果错了要怎么改啊?

解决方案 »

  1.   

    if len(@userID)=0 
     set @message='用户名不能为空'
      

  2.   

    存储过程中没有if ....then 的用法
      

  3.   

    create proc checkuser
        @userID nvarchar(50),@userPWD nvarchar(50)
    as
    if len(@userID)=0 
    print '用户名不能为空'
    else 
    begin declare @countuser integer
    select @countuser=count(*) from Muser where userID=@userID
    end
    if @countuser=0 
    print'用户不存在'
    else
    begin declare @pwd integer
    select @pwd=userPWD from Muser where userID=@userID
    end
    if @pwd=@userPWD 
    print '成功'
    else 
    print '密码错误'
      

  4.   

    integer也不是SQL server 的数据类型