Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Kopieren von Zeilen in einer Datenbank, wenn Zeilen untergeordnete Elemente haben

Sie können eine gespeicherte Prozedur schreiben, die die gesamte Kopierlogik implementiert.

Im Wesentlichen:

  1. Zeile kopieren in Haupttabelle einfügen - neue ID in Variable speichern
  2. Fügen Sie eine Kopie jeder Zeile in untergeordneten Tabellen ein und referenzieren Sie FK in der Variablen. Speichern Sie die ID der untergeordneten Zeile in Variable2
  3. Fügen Sie neue Zeilen in Tabellen ein, die von der untergeordneten Tabelle abhängig sind, und referenzieren Sie den FK in Variable2.

Kurz gesagt, schreiben Sie eine gespeicherte Prozedur, die ganz oben beginnt und so viele Tabellen wie nötig durchgeht.