Mini-TP : Transaction en SQL standard sous PostgreSQL
Se connecter à une base de données :
psql mydbCré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 :
COMMITVé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 :
ROLLBACKVé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