Kontrollverhalten von Constraints während SQL-Bulk-Insert?

Ich bin neugierig, ob es eine Möglichkeit gibt zu kontrollieren, wie die database auf Fremd- und Primärschlüssel-Constraints reactjs, während sie den Bulk-Insert-Befehl verwenden. Speziell führe ich data in eine Mitarbeiter-Tabelle (mit Primärschlüssel-EmpID) ein, die mit data in anderen Tabellen (Kinder, Ehepartner usw.) durch diesen Schlüssel (EmpID) verknüpft ist. Angesichts der Logik und Zweck hinter dieser Anwendung, wenn, während Bulk-deployment, ein doppelter Primärschlüssel gefunden wird, würde ich gerne folgendes tun:

  1. Delete (oder aktualisieren) die 'employee' Zeile, die bereits in der database existiert.
  2. Löschen Sie alle data aus anderen Tabellen, die mit diesem Mitarbeiter verbunden sind (dh Kinder, Begünstigte usw.).
  3. Legen Sie die neuen Mitarbeiterdaten ein.

Wenn ich data die übliche Weise einfügte, das ist ohne Bulk-Insert, ich denke, die Aufgabe wäre ganz einfach. Allerdings, wie ich es benutze, muss ich zugeben, ich bin nicht ganz sicher, wie ich das nähern kann

Ich erwarte sicher niemanden, der meinen Code für mich schreibt, aber ich bin mir nicht ganz sicher, ob es überhaupt möglich ist, wie man anfängt oder was der beste Ansatz sein könnte. Eine gespeicherte Prozedur vielleicht oder Änderungen in Schema?

Vielen Dank für jede Anleitung.

Die übliche Lösung für dieses Problem ist es, die data in eine Staging- Tabelle zu laden, vielleicht in ihr eigenes Schema oder sogar database. Sie würden dann die tatsächliche Tabelle aus dieser Staging-Tabelle laden, so dass Sie alles, was Logik erforderlich ist, in einer unbeschränkten Weise durchführen. Dies hat den zusätzlichen Vorteil, dass Sie log / audit / check die Logik, die Sie verwenden, während das Laden der 'echten' Tabelle.