-- Transakce je skupina prikazu, ktere se bud vykonaji jako jeden velky -- celek, nebo se nevykona ani jedna cast transkace. -- -- Transakce zacina provadenim SQL prikazu. Transakce konci uspesne -- prikazem COMMIT, kdy jsou provedene zmeny potvrzeny a objevi se v -- databazi (i pri normalnim odhlaseni je proveden COMMIT). -- -- Pri chybovem ukonceni transakce je prikazem ROLLBACK proveden navrat -- k puvodnim hodnotam. Prikazem SAVEPOINT je mozne ulozit stav v -- rozpracovane transakci a prikazem ROLLBACK to je mozne -- obnovit stav v bode SAVEPOINT. DROP TABLE a CASCADE CONSTRAINTS; CREATE TABLE a (a NUMBER); SELECT * FROM a; INSERT INTO a VALUES(1); SELECT * FROM a; ROLLBACK; SELECT * FROM a; ------------------------------------- INSERT INTO a VALUES(2); COMMIT; SELECT * FROM a; ROLLBACK; SELECT * FROM a; --------------------------------------- INSERT INTO a VALUES(3); DROP TABLE xyz; CREATE TABLE xyz(x NUMBER); ROLLBACK; SELECT * FROM a; INSERT INTO a VALUES(9); SAVEPOINT s1; INSERT INTO a VALUES(10); SAVEPOINT s2; INSERT INTO a VALUES(11); SELECT * FROM a; ROLLBACK TO s2; SELECT * FROM a; ROLLBACK TO s1; SELECT * FROM a; ROLLBACK; SELECT * FROM a;