现在有一比较复杂的存储过程,现需要对存储过程执行后的数据进行数据行数的统计,请问,这样的统计应该怎么写。
比如存储过程为SP_HR_Emp,现在需要对exec SP_HR_Emp '2007-10-01','2007-10-31'这个执行的结果进行数据统计,请高手给与帮助,谢谢。

解决方案 »

  1.   

    @@ROWCOUNT
    返回受上一语句影响的行数。
      

  2.   

    如果不能修改SP_HR_Emp过程,那就建一个临时表,表结构和过程输出的结果一致,
    然后
    insert into #t 
    exec SP_HR_Emp '2007-10-01','2007-10-31'再对#t表进行统计分析
      

  3.   

    select @@ROWCOUNT 就可以了,这句话要写存执行存储过程语句的后面
      

  4.   

    用@@ROWCOUNT的话,那执行的结果就会显示出来,我现在不需要显示结果,只需要显示行数,看来2楼的gahade的主意还行,就是麻烦点,呵呵,不知道还有没有好的办法。
      

  5.   

    select count(*)  
    from openrowset('sqloledb','ip';'sa';'密码','set fmtonly off ;exec  SP_HR_Emp '2007-10-01 ', '2007-10-31 ' )a
     
      

  6.   

    select   count(*)   应该可以在存储过程直接统计出来吧?
      

  7.   

    用select不行就用set嘛DECLARE @Count INT
    SET @Count=@@RowCount