參見以下代碼:declare @total varchar(100)
declare @sqlcondition varchar(100)set @sqlcondition='select row_id from stu_info where row_id=1'declare @s nvarchar(4000)
set @s='set @total=(select count(*) from stu_info as s  where depid=26  and s.row_id in('+@sqlcondition+'))'
exec sp_executesql @s,N'@total varchar(100) out',@total

解决方案 »

  1.   

    exec(@ss)
    select 处理的语句数=@@rowcount
      

  2.   

    --给你个例子看看
    create table test (id int) go
    insert test select 2declare @sqlstatement nvarchar(2000),@tts5 varchar(1000),@sum1 numeric(18,0) 
    set @tts5='test' 
    set @sqlstatement = 'select @sum1=sum(id) from ' +@tts5 
    EXEC sp_executesql @sqlstatement,N'@sum1 numeric(18,0) output', @sum1 output select @sum1 as aaa
      

  3.   

    to:zjcxc(: 邹建 :) 
    我在弄一个分页显示的存储过程时,想返回所有符合where条件的记录总数和总页数,遇到了以上问题.如果用以上方法会不会太浪费资源??
    另外
    @@rowcount返回的只是受影响的一行,那就是count返回的总数,不对
      

  4.   

    参考我的贴子:查询第X页,每页Y条记录
    http://expert.csdn.net/Expert/topic/2365/2365596.xml?temp=.8605615
      

  5.   

    要得到总页数这些东西的话,我就会直接用ado的分页功能来处理.