解决方案 »

  1.   

    第一个错误是,在这段代码中:
    if(@a>10)     
    begin        
    set @b='好好'        
    set @c=1         
    return @b     
    end
    返回@b,但是你程序定义的是返回int型,而你的@b是字符型,所以出错。
    你改成返回@c,或者前面output返回nchar(10)就好了
      

  2.   

    存储过程中的return 只能返回整形值,
    你的@b 要只能通过output传出。
      

  3.   

    存储过程中,如果你使用了 return 语句,则必须使用  int 型,LZ的例子中使用了nchar 会强制转换成 int ,转换失败了,就异常了。