CREATE PROCEDURE sp_recordcount
@strsql nvarchar(20),
@count int output
ASset @strsql=N''+@strsql 
exec sp_executesql @strsqlselect @count=@@rowcount
GO

解决方案 »

  1.   

    CREATE PROCEDURE sp_recordcount
    @strsql nvarchar(20),
    @count int output
    ASset @strsql=N''+@strsql 
    exec sp_executesql @strsql
    set @count=@@rowcount
    return  
    ---------------------  想返回记录集总数给  @count   怎么写?GO
      

  2.   

    CREATE PROCEDURE sp_recordcount
    @strsql nvarchar(20),
    @count int 
    ASset @strsql=N''+@strsql 
    exec sp_executesql @strsqlselect @count=@@rowcount
    ....
    return @count
    GO--调 用
    declare @count int
    set @count=exec sp_recordcount 参数1,参数2--@count就是你要的值
      

  3.   

    你可以调整你传入的@strsql为select count(1) from 表 where ........
      

  4.   

    你可以调整你传入的@strsql为select count(1) from 表 where ........
                                这样返回就只有一列了
      

  5.   

    系统的开销不在@@rowcount的使用上,而在你返回了大量数据上呀
    既然你要返回多列,那么就使用select @count=@@rowcount
      

  6.   

    CREATE PROCEDURE sp_recordcount
    @strsql nvarchar(20),
    @count int 
    ASset @strsql=N''+@strsql 
    exec sp_executesql @strsqlselect @count=@@rowcount
    ....
    return @count
    GO前面人兄的这种方法行的啊,