Tengo un DB de base de datos con la tabla T ( id int, marca de tiempo de la version ) y la aplicación APP que funciona con esta base de datos y esta tabla. Lo que necesito hacer:
T .TcurTimeStamp .Tversion > curTimeStamp . Su version se establece en la instrucción UPDATE usando funciones SQL, por ejemplo, now() , current_timestamp() etc. Me refiero a UPDATE T SET version=now() ;Después de leer mucha información, pienso en tal solución:
read committed .TcurTimeStamp . Sin embargo, algunos RDMS, por ejemplo, H2 y Posgtresql, devuelven el mismo valor de las funciones now() dentro de una transacción. Y según tengo entendido, si alguna transacción de actualización comenzó antes de mi transacción seleccionada Y la transacción de actualización finalizó después de la transacción seleccionada, entonces la row.version será < curTimeStamp .
No soy muy bueno en las transacciones de SQL y tengo dudas sobre mi solución. ¿Es correcta esta solución? Si no, por favor, muestre mis errores y la dirección correcta.