Kapitel 11. Transaktionen

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

In diesem Kapitel geht es um Transaktionen, d.h. um den Mechanismus, mit dem eine Reihe von SQL-Anweisungen so zusammengefasst werden, dass entweder alle oder keine der Anweisungen erfolgreich sind.

Was ist eine Transaktion?

Eine Transaktion ist eine Reihe von SQL-Anweisungen innerhalb einer einzigen Datenbanksitzung mit dem Ziel, alle Änderungen entweder anzuwenden oder als Einheit rückgängig zu machen. Mit anderen Worten: Wenn du eine Transaktion verwendest, wirst du nie mit einer Situation konfrontiert, in der einige deiner Änderungen erfolgreich sind und andere fehlschlagen. Betrachte das klassische Szenario einer Banküberweisung, bei der Geld von einem Konto abgehoben und auf ein anderes eingezahlt wird: Wenn dein Geld von deinem Sparkonto abgehoben wurde, aber die Einzahlung auf dein Girokonto fehlschlägt, ist dein Geld weg. Hier ist eine Pseudocode-Beschreibung dafür, wie eine Transaktion diese Möglichkeit ausschließen würde:

Begin Transaction
Update Savings_Account (remove $100 as long as balance >= $100)
Update Checking_Account (add $100)
If errors then
  Rollback Transaction
Else
  Commit Transaction
End If

Im nächsten Abschnitt wird beschrieben, wie Snowflake mit Transaktionen umgeht.

Explizite und implizite Transaktionen

Du kannst eine Transaktion starten, indem du die Anweisung begin transaction gibst. Danach ...

Get Snowflake SQL und Skripting lernen now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.