A priori, una transacción se utiliza para ejecutar de forma atómica un conjunto de operaciones que deben ejecutarse, o todas juntas o ninguna. Y además debe asegurar que durante el proceso el resto del sistema no puede acceder a los datos "intermedios" de esas operaciones.
Según esta definición, a priori, no tendría mucho sentido realizar una transacción en un SELECT.
El problema es que con el tiempo la cosa se ha ido complicando. Hay varios tipos de transacciones, generadas a partir de los bloqueos que producen, y diferentes formas de trabajar con ellas, en los diferentes SGBD's.
Casimiro ha comentado el sistema de trabajo de Firebird+IBX. Por ejemplo, el de SQLServer+ADO es diferente.
Las transacciones se inician manualmente y en los SELECT no es necesario realizarlas.
|