DML-Wissen: Die OUTPUT-Funktion in SQL Server 2005

Die neue OUTPUT-Funktion in SQL Server 2005 bietet zahlreiche Optionen beim Entwickeln von Anwendungen. Die Möglichkeit, auf geänderte Daten zuzugreifen, ohne die Datenbank nochmals aufrufen zu müssen, hilft beim Optimieren von Anwendungen.

Die Möglichkeit, auf geänderte Daten direkt Zugriff zu nehmen, ohne zuvor die Datenbank erneut auslesen zu müssen, kann den Datendurchsatz einer Anwendung steigern. Wenn unter SQL Server 2005 Änderungsanweisungen ausgeführt werden, ist es möglich die geänderten Daten aufzuzeichnen und zur Verwendung bei weiteren Transaktionen zu speichern. Diese Technik erlaubt es ein unnötiges Auslesen der OLTP-Tabellen (Online Transaction Processing) zu umgehen oder spezielle Auditfunktionen ohne Trigger zu implementieren.

Grundsätzliches zu Triggern

In SQL Server 2005 gibt es zwei Arten von Triggern: Data Definition Language (DDL) und Data Manipulation Language (DML). DML-Trigger werden durch Änderung von Daten ausgelöst und protokollieren jede Änderung der Datenbank.

Funktionsweise

Wie die DML-Trigger nutzt die OUTPUT-Klausel die Tabellen INSERTED und DELETED. Wenn in der Datenbank-Engine eine Änderungsanweisung ausgeführt wird, erzeugt SQL Server 2005 die Tabellen INSERTED und DELETED, in denen die geänderten Daten aufgeführt werden. Die Struktur dieser Tabellen ist dabei identisch mit der Struktur der geänderten Tabellen. Für Löschanweisungen werden nur Daten in die Tabelle DELETED eintragen, die jene Zeilen enthält, die aus der benutzerdefinierten Tabelle gelöscht wurden. Dasselbe gilt bei Einfügeanweisungen: Es erfolgen hier nur Eintragungen in die Tabelle INSERTED. Im Falle einer Aktualisierungsanweisung hingegen hält die Tabelle DELETED die Datenwerte vor der Aktualisierung fest und die Tabelle INSERTED die Daten nach der Aktualisierung.

Themenseiten: Big Data, Datenbank, SQL, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu DML-Wissen: Die OUTPUT-Funktion in SQL Server 2005

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *