Mini-TP : Transaction en SQL standard sous PostgreSQL

  1. Se connecter à une base de données : psql mydb

  2. Créer une table test : CREATE TABLE test (a integer);

Question

  1. Commencer une transaction : BEGIN TRANSACTION;

  2. Insérer les deux valeurs 1 et 2 dans la table : INSERT INTO...

  3. Valider la transaction : COMMIT

  4. 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

  1. Commencer une transaction : BEGIN TRANSACTION;

  2. Insérer les deux valeurs 3 et 4 dans la table : INSERT INTO...

  3. Annuler la transaction : ROLLBACK

  4. 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