一直被output 困扰 如下面这个例子
create proc guocheng
@shuru int,
@shuchu int output
as
begin
set @shuchu=@shuru*2
enddeclare @bianliang int
exec guocheng 2,@bianliang output
select @bianliang
我不明白exec guocheng 2,@bianliang output 这句话里的@bianliang是什么意思
是把存储过程返回的值赋给这个变量的意思  还是把这个变量当成参数传给存储过程的问题  还有 跟在后面的那个output 又是什么意思  上面存储过程里不是已经写了output了么 这里为什么还要写一个 我看了帮助了 里面好像没有说 希望大家能帮我解答一下 ! 谢谢!

解决方案 »

  1.   

    output表示@bianliang变量用于接收过程guocheng的输出值
      

  2.   

    这样看就明白了。
    DECLARE @return_value int,
    @PageCount int
    EXEC @return_value = [dbo].[PRO_te]
    @PageCurrent = 1,
    @PageSize = 2,
    @PageCount = @PageCount OUTPUT
    @PageCount = @PageCount OUTPUT中第二个@PageCount是变量的意思,可以在此处赋值,赋什么值,输出的就是什么,
    第一个@PageCount是将第二个@PageCount变量赋值过来。