sqlserver A表插入B表后如何返回A表原有ID和插入B表后新增ID的对应关系

表:A

id(自增), name

1 ‘a’

2 ‘b’

表 B
id(自增), name

3 'c'
4, 'd'

执行
insert into B(name) select name from A

表 B

id(自增), name

3 'c'
4 'd'
5 'a'
6 'b'

现在的问题是如何返回 A表插入B表后新增的ID及原A表的ID对应关系

newID oldID

5 1
6 2

这个不大多都是框架来做么?你数据层用的什么呀?

你最好不要变动key,如果是自增,除非你有另一个字段作为匹配,否则基本对不上,所以最好自己维护一个key

根据A表的name值,做一个连接查询,查询A表和B表中name值相同的数据,将NewID,OldID查询出来并返回

  • 使用游标逐行插入。
  • 每插入一行,将原id和新id的对照记录到一个临时表中
  • 全部插入完以后,显示临时表

你有另一个字段作为匹配,否则基本对不上,所以最好自己维护一个key