/* ejemplo que ilustra el problema de las lecturas no repetibles en transacciones, y su resolución en SGBD ORACLE */ CREATE VIEW coloresP AS ( SELECT DISTINCT nombre, color FROM prendas WHERE color IS NOT NULL ); -- asegurar que "SET TRANSACTION READ ONLY" es la primera operación de la transacción COMMIT; -- SET TRANSACTION READ ONLY; SELECT count(*) FROM prendas; SELECT count(*) FROM coloresP; pause SELECT count(*) FROM prendas; SELECT count(*) FROM coloresP; COMMIT; SELECT count(*) FROM prendas; SELECT count(*) FROM coloresP; pause SELECT count(*) FROM prendas; SELECT count(*) FROM coloresP; DROP VIEW coloresP;