问题描述
- sqlserver A表插入B表后如何返回A表原有ID和插入B表后新增ID的对应关系
-
表:Aid(自增), name
1 ‘a’
2 ‘b’
表 B
id(自增), name3 '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
时间: 2024-12-10 20:49:15