Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Copier des lignes dans une base de données lorsque les lignes ont des enfants

Vous pouvez écrire une procédure stockée qui implémente toute la logique de copie.

Essentiellement :

  1. Insérer une ligne de copie dans la table principale - stocker le nouvel ID dans la variable
  2. Insérer une copie de chaque ligne dans les tables enfants, en faisant référence à FK dans la variable. Stockez l'ID de la ligne enfant dans la variable2
  3. Insérez de nouvelles lignes dans les tables dépendant de la table enfant, en faisant référence au FK dans la variable2.

En bref, écrivez une procédure stockée qui commence en haut et parcourt autant de tables que nécessaire.