Creo que lo que estás buscando aquí es aislamiento, no atomicidad. Puede establecer todas las transacciones en el nivel de aislamiento más alto, serializable (que es más alto que el nivel predeterminado habitual). Con ese nivel, si se modifican los datos que leyó una transacción (y presumiblemente en los que se basó), entonces, cuando intente comprometerse, podría obtener un error de falla de serialización. Digo "podría", porque el sistema podría concluir que la situación sería coherente con el cambio de datos ocurrido después de la confirmación, en cuyo caso se permite que la confirmación se mantenga.