Mini-TP : Transaction en SQL standard sous PostgreSQL
Se connecter à une base de données :
psql mydb
Créer une table
test
:CREATE TABLE test (a integer);
Question
Commencer une transaction :
BEGIN TRANSACTION;
Insérer les deux valeurs 1 et 2 dans la table :
INSERT INTO...
Valider la transaction :
COMMIT
Vérifier que les valeurs sont bien dans la table :
SELECT * FROM ...
Solution
1
BEGIN TRANSACTION;
2
INSERT INTO test(a) VALUES (1);
3
INSERT INTO test(a) VALUES (2);
4
COMMIT;
5
SELECT * FROM test;
6
1
a
2
---
3
1
4
2
Question
Commencer une transaction :
BEGIN TRANSACTION;
Insérer les deux valeurs 3 et 4 dans la table :
INSERT INTO...
Annuler la transaction :
ROLLBACK
Vérifier que les valeurs ne sont pas dans la table :
SELECT * FROM ...
Solution
1
BEGIN TRANSACTION;
2
INSERT INTO test(a) VALUES (3);
3
INSERT INTO test(a) VALUES (4);
4
ROLLBACK;
5
SELECT * FROM test;
6
1
a
2
---
3
1
4
2