create proc aa
   @result int output
AS
select col1,col2,col3 from test
select @result=count(*) from test
Go
declare @result int
create table #aa(col1 varchar(10),col2 varchar(10),col3 varchar(10))
insert #aa exec aa @result output
--1.
select * from #aa
--2.
select @result

解决方案 »

  1.   

    1、不行
    2、declare @re int
       exec @re= sp...(存储过程名和参数)
      

  2.   

    我如果没猜错你的意思的话,你是想要结果集对吧。1、存储过程如果是查询语句的话,返回一个recordset集合2、返回结果集。
    (1)创建查询的存储过程
    create proc proc_select
      @tt varchar(20)     ------传进的参数列表
    as
      select * from 表 where [id]=@tt(2)前台调用。(这是一段VB的调用存储过程的语句,写的比较简单,希望你能明白,不明白的话,就到VB里面问问如何访问数据库吧!)sql = "exec proc_select '" & trim(text1.text) & "'"
    Rs.open sql,Conn,3,1
    while not rs.eof
      '.........获得RS结果集中的数据
    wend
      

  3.   

    berylw(漏洞) ( ) delphi我还懂一点点,
    有例子吗?
      

  4.   

    回复人: inkstone(七少) ( ) 是不是说存储过程只能返回一个值啊?
      

  5.   

    insert #aa exec aa @result output用临时表来接收存储过程的返回值,可不可以直接用select 语句来对存储过程进行查询的?
      

  6.   

    存储过程可以返回多个
    用outputOUTPUT表明参数是返回参数。该选项的值可以返回给 EXEC[UTE]。使用 OUTPUT 参数可将信息返回给调用过程。Text、ntext 和 image 参数可用作 OUTPUT 参数。使用 OUTPUT 关键字的输出参数可以是游标占位符。