小弟是个新手,想写一个存储过程来验证用户名是否存在,其中username是我表中的元素
create procedure myUserInfo @param1 varchar
as select * from myUserInfo where username=@param1
if @@error=0
print 'good'
else 
print 'bad'
go
请问我这样写对吗,如果我想有个参数输出,又应该怎么写???

解决方案 »

  1.   

    create procedure myUserInfo @param1 varchar(20) 
    as 
    begin
      if exists (select 1 from myUserInfo where username=@param1) 
         print 'good' 
      else 
         print 'bad' 
    end
    go 
      

  2.   

    create procedure myUserInfo @param1 varchar(20),@bolExists bit out
    as select * from myUserInfo where username=@param1 
    if @@rowcount>0 
    set @bolExists=1
    else 
    set @bolExists=0go 
    declare @b bit
    exec myUserInfo '楼主',@b out
    select @b
      

  3.   


    create procedure myUserInfo @param1 varchar(20) 
    as 
    begin 
      if exists (select 1 from myUserInfo where username=@param1) 
        print 'good' 
      else 
        print 'bad' 
    end 
    go 
      

  4.   

    create procedure myUserInfo @param1 varchar(20) ,@result varchar(20) OUTPUT
    as 
    begin
      if exists (select 1 from myUserInfo where username=@param1) 
         set @result = 'good' 
      else 
         set @result = 'bad' 
    end
    go declare @result varchar(20) exec myUserInfo '用户名' , @result OUTPUT
    print @result