💻
M105 - Datenbanken mit SQL bearbeiten
  • Intro
  • 🗓️Organisatorisches
  • 🛠️Infrastruktur und Tools
  • ❓FAQ
  • Tag 1
    • 🏁Tagesziele
    • 📖💡 Datenbanklehre
    • 📖💡 DDL – Data Definition Language
    • 📖💡 DDL - Constraints
    • 💬Northwind Sample Database
    • 📖DML - Datenmanipulation
    • ❓Hilfsmittel
      • ❓Datentypen
  • Tag 2
    • 🏁Tagesziele
    • 💡DML - Aufgaben
      • ❓Hilfsmittel
    • 📖Transaktionssteuerung
      • 💡Transaktionen - Aufgaben (optional)
    • 📖DQL - Select-Anweisungen
    • 💡DQL - Aufgaben
    • 📖DQL - Join
  • Tag 3
    • 🏁Tagesziele
    • 📖DQL - Komplexere Abfragen
    • 💡DQL - Aufgaben
    • 📖 Views
    • 💡Views - Aufgaben
  • Tag 4
    • 🏁Tagesziele
    • 📖💡 DCL - Data Control Language
    • 📖💡 Funktionen
    • 📖Datenbanksicherung
    • 💡SQL Projektarbeit
      • ❓Hilfsmittel
  • Tag 5
    • 🏁Tagesziele
    • 📖💡 Datenbank-Programmierung
      • 💡Programmierung - Aufgaben (optional)
    • 📖💡 Befehlszeilenanwendung
Powered by GitBook
On this page
  • Merkmale einer Transaktion
  • Transaktionssteuerung bei SQL Server
  • Starten einer Transaktion
  • Savepoint erstellen
  • Transaktion abschliessen
  • Transaktion zurückrollen

Was this helpful?

Export as PDF
  1. Tag 2

Transaktionssteuerung

Unter einer SQL-Transaktion versteht man einen atomaren Anweisungsblock einer Folge von logisch zusammenhängenden Mutationen.

Previous❓HilfsmittelNextTransaktionen - Aufgaben (optional)

Last updated 3 years ago

Was this helpful?

Merkmale einer Transaktion

  • Die Anweisungen laufen nach dem Prinzip ab: "ALLES ODER NICHTS" (vgl. ).

  • Vor und nach einer Transaktion herrscht absolute Konsistenz.

  • Änderungen werden erst gespeichert und für andere Benutzer sichtbar, wenn die

    Transaktion beendet ist.

  • Solange die Transaktion läuft, sind alle betroffenen Daten gesperrt.

  • Transaktionen sollten wegen der Sperren so kurz wie möglich dauern und möglichst

    wenig SQL-Code kapseln.

  • Es besteht die Möglichkeit des Zurückrollens (Rollback), wenn in der Transaktion ein

    Fehler auftritt oder diese abbricht. Es handelt sich dabei um ein implizites Rollback in

    den Zustand vor der Transaktion.

  • Für die Rückgängigmachung wird ein Logbuch geführt, auch Transaktions-Protokoll

    genannt. Dieses ist logisch aufgebaut, bestehend aus Anweisungen und nicht aus Zuständen.

Transaktionssteuerung bei SQL Server

Eine Transaktion kann mit folgenden Anweisungen gesteuert werden.

Starten einer Transaktion

BEGIN TRANSACTION [name];
  • Name für bessere Übersicht optional

Savepoint erstellen

SAVE TRANSACTION name;
  • Zurückrollen bis zum Savepoint möglich

  • Transaktion und Anweisungen vor Savepoint bleiben bestehen

Transaktion abschliessen

COMMIT TRANSACTION [name];
  • Alle Änderungen werden unwiderruflich gespeichert und für alle sichtbar

Transaktion zurückrollen

ROLLBACK TRANSACTION [name];
  • Alle Änderungen werden unwiderruflich verworfen

Jede explizit gestartete Transaktion muss explizit beendet werden. Ein BEGIN muss also in jedem Fall entweder mit einem COMMIT oder mit einem ROLLBACK geschlossen werden.

📖
ACID