602SQL-Úplná dokumentace Index  

Příkaz ROLLBACK (SQL)

příkaz_ROLLBACK ::= ROLLBACK [ WORK ] [ AND [ NO ] CHAIN ] [ TO SAVEPOINT bod_návratu ] ;

Příkaz ROLLBACK má jeden ze dvou významů v závislosti na tom, zda je v něm uveden bod návratu:

Provedení příkazu ROLLBACK nemá vliv na hodnoty proměnných a na akce provedené v transakci mimo databázi.

Příkaz ROLLBACK bez bodu návratu zruší všechny body návratu vytvořené v transakci. Příkaz ROLLBACK s bodem návratu zruší všechny body návratu vytvořené po vytvoření tohoto bodu návratu (uvedený bod návratu však zůstane zachován).

Upřesnění WORK je zde pouze pro zachování kompatibility a nemá žádný efekt.

Je-li uvedeno AND CHAIN, po ukončení transakce bude zahájena transakce nová se stejnými vlastnostmi jako dosavadní transakce. AND CHAIN se vylučuje s uvedením bodu návratu.

Je-li uvnitř atomického složeného příkazu nebo triggeru proveden příkaz ROLLBACK bez bodu návratu, nastane chybový sqlstate 2D000. Je-li uvnitř atomického složeného příkazu proveden příkaz ROLLBACK s bodem návratu vytvořeným před vstupem do tohoto složeného příkazu nebo s nedefinovaným bodem návratu, nastane chybový sqlstate 3B001.