存储过程中更新表数据,想计算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表就可以了