ROLLBACK - Amazon Redshift

Amazon Redshift ne prendra plus en charge la création de nouvelles fonctions Python définies par l’utilisateur à compter du 1er novembre 2025. Si vous souhaitez utiliser des fonctions Python définies par l’utilisateur, créez-les avant cette date. Les fonctions Python définies par l’utilisateur existantes continueront de fonctionner normalement. Pour plus d’informations, consultez le billet de blog .

ROLLBACK

Arrête la transaction en cours et ignore toutes les mises à jour effectuées par cette transaction.

Cette commande effectue la même fonction que la commande ABORT.

Syntaxe

ROLLBACK [ WORK | TRANSACTION ]

Paramètres

WORK

Mot-clé facultatif. Ce mot-clé n’est pas pris en charge dans une procédure stockée.

TRANSACTION

Mot-clé facultatif. WORK et TRANSACTION sont synonymes. Aucun des deux n’est pris en charge dans une procédure stockée.

Pour obtenir des informations sur l’utilisation de ROLLBACK dans une procédure stockée, consultez Gestion des transactions.

exemple

L’exemple suivant crée une table, puis démarre une transaction où les données sont insérées dans la table. La commande ROLLBACK annule ensuite l’insertion des données et laisse la table vide.

La commande suivante crée un exemple de table appelée MOVIE_GROSS :

create table movie_gross( name varchar(30), gross bigint );

La prochaine série de commandes démarre une transaction qui insère deux lignes de données dans la table :

begin; insert into movie_gross values ( 'Raiders of the Lost Ark', 23400000); insert into movie_gross values ( 'Star Wars', 10000000 );

Puis, la commande suivante sélectionne les données de la table pour montrer qu’elles ont été correctement insérées :

select * from movie_gross;

La sortie de la commande montre que les deux lignes ont été insérées avec succès :

name | gross -------------------------+---------- Raiders of the Lost Ark | 23400000 Star Wars | 10000000 (2 rows)

Cette commande restaure les modifications des données à l’emplacement où la transaction a commencé :

rollback;

La sélection de données de la table affiche maintenant une table vide :

select * from movie_gross; name | gross ------+------- (0 rows)