CREATE PROCEDURE aG_Table_Max_id
@TableName    varchar(20),
@ColumnName  varchar(20)AS
begin 
  declare @result int  /*存储过程a_Max_id返回值   */
  declare @Max_id int  
  exec   @Max_id=a_Max_id  'x',1,@result
insert into  T_temp_Max_id(TableName,Column_Name,Max_id) values ('TableName','ColumnName',@Max_id)
end
GO
我要用@Max_id 获得存储过程a_Max_id返回值
但是获取不到,a_Max_id  这个存储过程是没有错误的
请问错在哪里,也就是说怎么获得一个存储过程的返回值

解决方案 »

  1.   

    CREATE PROCEDURE aG_Table_Max_id
    @TableName    varchar(20),
    @ColumnName  varchar(20)AS
    begin 
      declare @result int  /*存储过程a_Max_id返回值   */
      declare @Max_id int  
      exec   @Max_id=a_Max_id  'x',1,@result
    insert into  T_temp_Max_id(TableName,Column_Name,Max_id) values (@TableName,@ColumnName,@Max_id)
    end
    GO
    我要用@Max_id 获得存储过程a_Max_id返回值
    但是获取不到,a_Max_id  这个存储过程是没有错误的
    请问错在哪里,也就是说怎么获得一个存储过程的返回值
      

  2.   

    用return(@Max_id int) 試試
      

  3.   

    Create procedure proc_temp
    ( @aaa char(1),
      @bbb varchar(21) OUTPUT
    )
    as
    begin
    exec proc_temp1 参数,输出参数 OUTPUT
    end
    @bbb 就是返回值
      

  4.   

    Create procedure proc_temp
    ( @aaa char(1),
      @bbb varchar(21) OUTPUT
    )
    as
    begin
    exec proc_temp1 参数,@bbb OUTPUT
    end
    @bbb 就是返回值
      

  5.   

    将:
    exec   @Max_id=a_Max_id  'x',1,@result
    改为:
    exec   a_Max_id  'x',1,@Max_id我机子没有数据库不好试,,可能不对,,:)