SQL Server: Est-il possible d'insérer dans les deux tables en même temps?

Ma base de données contient trois tables appelé Object_Table, Data_Table et Link_Table. Le lien tableau contient deux colonnes, l'identité d'un objet et d'une identité d'enregistrement de données.

Je veux copier les données à partir de DATA_TABLE où il est lié à un compte tenu de l'identité de l'objet et d'insérer des enregistrements correspondants dans Data_Table et Link_Table pour un autre compte tenu de l'identité de l'objet.

Je peut le faire en sélectionnant dans une variable de table et la boucle grâce à deux inserts pour chaque itération.

Est-ce la meilleure façon de le faire?

Modifier : je veux éviter une boucle pour deux raison, la première c'est que je suis paresseux et une boucle/temp table nécessite plus de code, plus de code, plus d'endroits pour faire une erreur et la deuxième raison, c'est un sujet de préoccupation au sujet de la performance.

Je peux copier toutes les données d'une plaquette, mais comment obtenir la table de lien de lien pour les nouveaux enregistrements de données où chaque enregistrement a une nouvelle id?

  • Je ne comprends pas l'intérêt d'essayer de le faire avec UN insert, quand le faire avec 2 inserts fonctionne parfaitement bien. Voulez-vous dire, vous voulez vous assurer que les 2 plaquettes sont à la fois terminé? Ensuite, vous aurez à vérifier ce commit/rollback instruction.
  • Je serais heureux avec deux inserts, c'est juste que les identités qui doivent être insérées dans la table de liaison sont les identités généré lors de la première insertion.