Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

193
Vistas
Control de versiones mediante marca de tiempo

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:

  1. Mesa de bloqueo T .
  2. Seleccione algunas filas de la tabla T
  3. Obtener la hora actual curTimeStamp .
  4. Desbloquear la mesa T
  5. Todas las filas que se actualizan después de desbloquear las tablas (#4) deben tener version > 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:

  1. Inicie la transacción SQL con nivel de aislamiento de read committed .
  2. Ejecute la declaración SELECT para obtener filas de la tabla T
  3. Ejecute SELECT para obtener curTimeStamp .
  4. Confirmar transación de SQL.

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.

over 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda