Announcement

Collapse
No announcement yet.

Records archivieren

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Records archivieren

    Hallo,

    ich habe zwei gleiche Tabellen. Tab a enthält einen Masterdatensatz (eindeutige id-Nr.), Tab b mit gleicher Struktur enthält den Datensatz von Tabelle a mehrfach (Historie).
    Nun möchte ich diese Daten, wenn in Tab a das Feld "Abgeschlossen" auf True steht die Daten zusammen mit den Daten aus Tab b in eine Tabelle c (Archiv) schreiben und anschließend löschen. Mein Problem ist, das in Tab b das Feld "Abgeschlossen auf "False" steht. Ich tu mir schwer die zwei tabellen mit gleicher id-nr zusammen zu bringen.

  • #2
    So ganz klar ist mir deine Frage nicht, denn "Ich tu mir schwer die zwei tabellen mit gleicher id-nr zusammen zu bringen" ist ziemlich nichtssagend. Aber ich probiere es einfach mal....

    So würde ich das machen:
    1. Tab_b als Fremdschlüsseltabelle mit Aktion "ON DELETE CASCADE" ausstatten

    2. Daten umkopieren in Tab_c:
    insert into Tab_c select * from Tab_a where Tab_a.Abgeschlossen = true
    union select * from Tab_b where Tab_b.ID in (select Tab_a.ID from Tab_a where Tab_a.Abgeschlossen = true)

    3. Daten in Tab_a löschen:
    delete Tab_a where Abgeschlossen = true
    ... durch das ON DELETE CASCADE werden alle entsprechenden Datensätze in Tab_b automatisch durch den SQL-Server selber gelöscht.

    bye,
    Helmut

    Comment

    Working...
    X