我将提供一个伪代码示例,展示我当前的方法。如果有人知道一种不需要逐行操作的方法,我会非常感激。我正在使用MS SQL Server 2008。
define cursor for the data to be inserted (about 3 million records)
loop
(
insert record into table 1
use scope_identity() to get key
insert record into table 2 that references table 1
)
我更愿意同时将数据插入两个表中,因为使用游标和循环的方式速度较慢。
有人可能会抱怨为什么要将数据插入两个具有一对一关系的不同表格,原因是第一个表格无法被修改,而我需要第二个(临时)表格中的信息作为以后进行数据转换操作的参考。
不能在无法修改的表格上添加临时列来存储引用数据,因为这个表格无法被修改。这是一个在线系统,我没有权限改变表格结构。
附加信息:
Ex
Source:
1 a big monkey
2 a tall elephant
3 a big giraffe
4 a tiny cow
5 a tall cow
Dest:
Table 1 Table 2
monkey 1 big
elephant 2 tall
giraffe 3 big
cow 4 tiny
cow 5 tall