日期:2014-05-17  浏览次数:20465 次

关于Insert的条数
我在一个存储过程中向三个表a,b,c中Insert了几万条数据,然后我想把这个条数返回出来
在Insert后,用SELECT COUNT(*) FROM a
有没有什么系统的变量可以直接返回Insert的条数呢,如果用SELECT COUNT(*) FROM a
因为数据量比较大,会不会影响速度呢。

如果是
SELECT COUNT(*) FROM a
UNION ALL
SELECT COUNT(*) FROM b
UNION ALL
SELECT COUNT(*) FROM c
就作为3条数据返回来,可不可以把这3个数作为一条数据的3个字段返回来呢
3条数据每条一个字段和一条数据有三个字段,
这在速度方面有区别吗

谢谢了

------解决方案--------------------
单纯的查询数据的条数 用


select rowcnt from sysindexes where id=object_id('表名') 


这个语句或许比较快
------解决方案--------------------
SELECT @@IDENTITY每次插入成功之后,用这个来赋值一个变量,就可以知道它有多少行受影响
------解决方案--------------------
你在插入数据之前,先把要插入三表的第一个表的记录总条数记录下来不行吗?
只要插入成功,就把直接三个记录数求和返回