-- COMANDOS TCL.

-- PROPIEDADES (ACID):
-- Atomicidad [Todo o nada]. (Se comporta como un átomo).
-- Consistencia [Datos válidos].
-- Aislamiento [Transacciones concurrentes, no se interfieren] (Bajo ningún conccepto).
-- Durabilidad. [Cambios permanentes] COMMIT

-- PRÁCTICA
SELECT * from PERSONAS;
INSERT INTO personas (nombre,apellido,edad,genero,email,fecha_nacimiento,altura,peso,ciudad) VALUES ("AA","BB",18,"Masculino","bb@gm.com","2005-05-05",180.00,90.000,"Coslada");
SELECT * FROM personas WHERE email like '%@gm.com';

START transaction;
-- BEGIN;
DELETE FROM personas  WHERE email like '%@gm.com';
-- DESHACER HASTA EL ÚLTIMO PUNTO DE GUARDADO
rollback;
DELETE FROM personas  WHERE email like 'aa@gm.com';
COMMIT;
SAVEPOINT backup1;
DELETE FROM personas;
DELETE FROM persona_nacionalidad;
ROLLBACK TO SAVEPOINT ;
rollback;
---
START TRANSACTION;
SAVEPOINT p1;
INSERT INTO personas (nombre,apellido,edad,genero,email,fecha_nacimiento,altura,peso,ciudad) 
VALUES ("AA","BB",18,"Masculino","bb@gm.com","2005-05-05",180.00,90.000,"Coslada");
SAVEPOINT p2;
INSERT INTO personas (nombre,apellido,edad,genero,email,fecha_nacimiento,altura,peso,ciudad) 
VALUES ("AA","BB",18,"Masculino","cc@gm.com","2005-05-05",180.00,90.000,"Coslada");
ROLLBACK TO SAVEPOINT p1;

