--B的返回非表值情况
exec procName @pramar1 out,@param2 out,...

解决方案 »

  1.   

    --sample
    create proc A
    as
    begin
    exec B 参数,输出参数 out
    --select 输出参数 
    end
      

  2.   

    --sample
    create proc A
    as
    begin
    exec B 参数,输出参数 out
    --select 输出参数 
    end
      

  3.   

    ----------------------存储过程共有三种返回值-------------------
    /*(一)、参数返回值@parm2;
      (二)、过程返回值return 100;
      (三)、数据集返回值select * from table1 where age = @parm1
    请问,如何得到三类返回值?
    */
    create table table1(
    name varchar(30),
    age integer,
    primary key(name, age)
    )create procedure proc1 
    @parm1 integer, 
    @parm2 varchar(30) output 
    as
    select @parm2 = 'zhongguo'
    select * from table1 where age = @parm1
    return 100--(一)、参数返回值@parm2;
    declare @re varchar(30)
    exec proc1 1,@re out
    select 返回结果=@re--(二)、过程返回值return 100;
    declare @re int,@parm2 varchar(30)
    exec @re=proc1 1,@parm2 out
    select 返回结果=@re--(三)、数据集返回值select * from table1 where age = @parm1
    --定义返回结果保存的临时表(因为是返回记录集,所以要用临时表)
    --调用返回结果
    --declare @re varchar(30)
    --insert #re exec proc1 1,@re out
    select * into #re from OPENROWSET('SQLOLEDB',
    'SERVER=zhou;uid=sa;pwd=zhou;Database=pubs','SET FMTONLY OFF;SET NOCOUNT ON declare @re varchar(30) exec proc1 ''1'',@re out') as a
    --显示结果
    select * from #re
    --处理完成后删除临时表
    drop table #re
      

  4.   

    对于这个返回SELECT的值可否改进以下呀.我想这样用select * from Tbl_User WHERE UserName IN (EXEC Procla Prams)我想这样使用这个记录集..如果有答案的话我尽快结贴
    3Q--------
      

  5.   

    如果要使用过程来返回的话,那么,你只有实验一下使用动态SQL语句来实行。打个比方,抄了一个。
    /*--建立函数---*/
    CREATE FUNCTION funNewCode(@Code CHAR(3),@IfUp int)
      RETURNS varchar(6)
      AS
     begin
      declare @i varchar(6) 
      set @i=@code
      if(@IfUp=1)
      begin
       update 表 set Points = Points+1 from Emp = @Code
      end
      
      return(@i)
    end
    go
    /*---在select语句中使用函数----*/
    select NichName from 表 where Emp=dbo.funNewCode('001',1)
      

  6.   

    顶,zlp321002(想在北京找份工作!) 讲的已经很全面了.