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

查看:237
本文介绍了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

解决方案

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

这篇关于sqlserver怎么计算存储过程中的rowcount的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆