Voy a dar un ejemplo de pseudocódigo de mi método actual y si alguien sabe de un método que no funciona una fila a la vez, estaría muy agradecido. Estoy usando MS SQL Server 2008.¿Hay alguna forma de insertar a granel en dos tablas con FK de una a la otra?
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
)
yo preferiría hacer algún tipo de inserción en las dos mesas a la vez, porque un cursor y bucle son lentos.
Antes de que alguien diga por qué estoy insertando algo en dos tablas separadas que tienen una relación de 1 a 1, es porque la primera tabla no se puede modificar y necesito la información en la segunda tabla (temporal) para referencia de datos operaciones de conversión más adelante.
No, no puedo agregar una columna temporal para mantener los datos de referencia en la tabla que no se pueden modificar porque no se pueden modificar. Este es un sistema en vivo y no tengo permisos para alterar la tabla.
Gracias!
Información adicional:
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
[¿Ayuda esta respuesta?] (Http://stackoverflow.com/q/5365629/73226) –