
2、假设批量插入的数据的自增ID是连续的,则可以通过第一个自增ID获取所有自增ID
3、测试批量插入的数据的自增ID是否是连续的,即插入过程中,单独插入其他数据,批量插入的自增ID是否连续
4、生成批量插入10w条数据的sql
5、navicat打开两个页面,一个是上面的sql,一个是一条单独插入的sql(这条sql的test_id,要大于上面sql里随机数的最大值,方便查看)
6、所以可以使用2中的方式获取批量插入的所有自增ID
直接获取是有难度的,但是可以间接获取,比如先建一张表用来存储这一批数据的批次ID
DECLARE @BATCHID INTCREATE TABLE TBL_BATCH
(
ID int identity(1,1),
[DESC] varchar(255)
)
--要进行批量插入时,先插入一条数据到TBL_BATCH表中
INSERT INTO TBL_BATCH VALUES '这批数据的作用:XXX'
--获取批次ID
SET @BATCHID = @@IDENTITY
--批量插入数据时将@BATCHID一同插入。注:需要先添加一列BATCHID列。
INSERT INTO XXX
SELECT @BATCHID,XXX,XXX,XXX UNION
SELECT @BATCHID,XXX,XXX,XXX
这样根据@BATCHID就可以查到这批数据的所有自增ID了
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)