Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Referenzhandbuch » Verwendung von SQL » SQL-Anweisungen » SQL-Anweisungen (P-Z)

 

ROLLBACK TRANSACTION-Anweisung [T-SQL]

Verwenden Sie diese Anweisung, um alle Änderungen, die seit einer SAVE TRANSACTION-Anweisung vorgenommen wurden, zu löschen.

Syntax
ROLLBACK TRANSACTION [ Savepoint-Name ]
Bemerkungen

Die ROLLBACK TRANSACTION-Anweisung macht alle Änderungen rückgängig, die seit einem mit SAVE TRANSACTION gesetzten Savepoint durchgeführt wurden. Änderungen, die vor der SAVE TRANSACTION-Anweisung vorgenommen wurden, werden nicht rückgängig gemacht. Sie bleiben weiterhin gültig.

Der Savepoint-Name ist ein Bezeichner, der für eine SAVE TRANSACTION-Anweisung innerhalb der aktuellen Transaktion angegeben wurde. Wenn kein Savepoint-Name angegeben ist, werden alle ausstehenden Änderungen zurückgesetzt. Alle Savepoints seit dem benannten Savepoint werden automatisch freigegeben.

Berechtigungen

Innerhalb der aktuellen Transaktion muss es eine entsprechende SAVE TRANSACTION-Anweisung geben.

Nebenwirkungen

Keine.

Siehe auch
Standards und Kompatibilität
  • SQL/2003   Erweiterung des Herstellers

Beispiel

Das folgende Beispiel zeigt fünf Zeilen mit den Werten "10", "20", usw. an. Die Auswirkung des Vorgangs DELETE wird durch die ROLLBACK TRANSACTION-Anweisung rückgängig gemacht, jedoch nicht die Auswirkung der vorherigen Vorgänge INSERT oder UPDATE.

BEGIN
    SELECT row_num INTO #tmp 
    FROM sa_rowgenerator( 1, 5 ) 
    UPDATE #tmp SET row_num=row_num*10
    SAVE TRANSACTION before_delete
    DELETE FROM #tmp WHERE row_num >= 3
    ROLLBACK TRANSACTION before_delete
    SELECT * FROM #tmp
END