sqlserver怎么计算存储过程中的rowcount

存储过程中更新表数据,想计算Merge影响行数,Mrege后Truncate source表也计算下source表的条数,但是不管truncate多少行显示出来的行数都是0,求问正确计算影响行数方法。

MERGE INTO  A
    USING   B
    ON  A.ID=B.ID
    --WHEN MATCHED THEN
    --UPDATE SET 
    --。。。
    WHEN NOT MATCHED THEN
    INSERT (aa,bb,cc)
    VALUES (b.aa,b.bb,c.cc);
    --将临时表汇总数据删除
    PRINT @@ROWCOUNT
    --SET @rowinfect=@@ROWCOUNT
    TRUNCATE TABLE dbo.a_bs_460
    --SET @rowtrunc=@@ROWCOUNT
    PRINT @@ROWCOUNT
阅读 3.3k
1 个回答

问题已解决:
merge后面的定义变量时赋予一个初始值为0就可以了;
truncate的影响行数在全局变量里是不统计的,需要在做truncate之前做下count 下 source表就可以了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进