Mit Blick auf die SQL Server-Onlinedokumentation scheint Microsoft eine (falsche) Methode zur Verarbeitung verschachtelter Transaktionen in einer gespeicherten Prozedur :
Schachtelungstransaktionen
Explizite Transaktionen können verschachtelt werden. Dies dient hauptsächlich dazu, Transaktionen in gespeicherten Prozeduren zu unterstützen, die entweder von einem bereits in einer Transaktion ausgeführten Prozess oder von Prozessen ohne aktive Transaktion aufgerufen werden können.
Das Beispiel zeigt eine gespeicherte Prozedur, die eine eigene Transaktion startet ("Die Prozedur erzwingt ihre Transaktion unabhängig vom Transaktionsmodus eines Prozesses, der sie ausführt.") :
%Vor%Diese Prozedur kann dann aufgerufen werden, ohne dass eine Transaktion ausgeführt wird:
%Vor%Oder mit einer expliziten Transaktion:
%Vor%Was sie nicht ansprechen, ist was passiert, wenn das gespeicherte Produkt:
Es gibt kein:
SET XACT_ABORT ON
irgendwo im kanonischen Beispiel.
Wenn ich es nicht besser wüsste, hätte ich gedacht, dass die Zeile:
Das folgende Beispiel zeigt die beabsichtigte Verwendung verschachtelter Transaktionen.
sollte eigentlich
lesenDas folgende Beispiel zeigt, wie verschachtelte Transaktionen nicht verwendet werden.
Es sei denn, jemand kann Kopf oder Zahl von diesem BOL-Beispiel machen?
Sie müssen den try-catch-Block mit der Transaktion verwenden. Wenn Sie also den Fehler in Ihrem catch-Block erhalten, können Sie Ihre Transaktion zurücksetzen.
Bitte beachten Sie den folgenden sql-Server-Code.
%Vor%Sie müssen den try-catch-Block mit der Transaktion verwenden. Wenn Sie also den Fehler in Ihrem catch-Block erhalten, können Sie Ihre Transaktion zurücksetzen.
Bitte beachten Sie den folgenden sql-Server-Code.
%Vor%Mit Blick auf die SQL Server-Onlinedokumentation scheint Microsoft eine (falsche) Methode zur Verarbeitung verschachtelter Transaktionen in einer gespeicherten Prozedur :
Schachtelungstransaktionen
Explizite Transaktionen können verschachtelt werden. Dies dient hauptsächlich dazu, Transaktionen in gespeicherten Prozeduren zu unterstützen, die entweder von einem bereits in einer Transaktion ausgeführten Prozess oder von Prozessen ohne aktive Transaktion aufgerufen werden können.
Das Beispiel zeigt eine gespeicherte Prozedur, die eine eigene Transaktion startet ("Die Prozedur erzwingt ihre Transaktion unabhängig vom Transaktionsmodus eines Prozesses, der sie ausführt.") :
%Vor%Diese Prozedur kann dann aufgerufen werden, ohne dass eine Transaktion ausgeführt wird:
%Vor%Oder mit einer expliziten Transaktion:
%Vor%Was sie nicht ansprechen, ist was passiert, wenn das gespeicherte Produkt:
Es gibt kein:
irgendwo im kanonischen Beispiel.
Wenn ich es nicht besser wüsste, hätte ich gedacht, dass die Zeile:
Das folgende Beispiel zeigt die beabsichtigte Verwendung verschachtelter Transaktionen.
sollte eigentlich
lesenDas folgende Beispiel zeigt, wie verschachtelte Transaktionen nicht verwendet werden.
Es sei denn, jemand kann Kopf oder Zahl von diesem BOL-Beispiel machen?
Tags und Links sql-server stored-procedures sql-server-2008-r2