Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

194
Visualizações
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 à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda