Sie brauchen auch keines. Starten Sie eine Transaktion, führen Sie alle Ihre Einfügungen durch (übergeordnete Tabelle zuerst, untergeordnete Tabellen danach), beenden Sie die Transaktion mit COMMIT
, und Sie sind fertig.
Verwenden Sie gespeicherte Prozeduren, wenn Sie dies bündeln und eine gewisse Konsistenz sicherstellen möchten (so dass es beispielsweise immer mindestens eine untergeordnete Tabelle für eine übergeordnete Tabelle gibt). Aber das kann kompliziert werden. Angenommen, Sie möchten ein neues Produkt mit allen Farben, Größen, Lieferanten und Absatzmärkten einfügen. Bestimmte Farben/Größen werden von einem oder mehreren Lieferanten geliefert und nicht von den anderen, ebenso wie bei Verkaufsmärkten. Um diese Beziehungen zu zeigen, benutzen wir normalerweise Tabellen, aber jetzt müssen Sie diese irgendwie in Parameter einfügen, um sie in Tabellen einzufügen. Mir wurde gesagt, dass einige Leute alle ihre Datenbanken in Prozeduren schreiben. Dies ist wahrscheinlich möglich, hat aber Grenzen.
Wie Auto-Inserts durch Trigger: Sie können sie verwenden, um Daten zu protokollieren, um eine Geschichte oder dergleichen zu erhalten, aber Sie verwenden sie nicht zum Einfügen von Geschäftsdaten. Stellen Sie sich einen Auftrag mit seinen Positionen vor: Sie fügen den Auftragskopf (Bestelldatum, Kundennummer, ...) ein, aber wie soll der Auslöser wissen, welche Artikel bestellt wurden? Oder umgekehrt: Sie fügen eine Bestellposition (Artikelnummer, Preis) ein und möchten, dass die Kopfzeile automatisch erstellt wird, aber wie soll der Trigger die Kundennummer kennen? Trigger sind für solche Dinge nicht geeignet.
Wie bereits erwähnt: Normalerweise würden Sie nur mit einfachen SQL in Transaktionen arbeiten und das war's.
Gespeicherte Prozeduren und Trigger sind verschiedene Tools, mit denen verschiedene Aufgaben ausgeführt werden können. Sie vergleichen Äpfel und Orangen. –
Ich empfehle Ihnen, Stored Procedures zu verwenden. In der Stored Procedure können Sie Massen einfügen mit der Verwendung von XML – jelliaes
Welche DBMS verwenden Sie? –