es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo deshacer una transacción anterior en Redshift

He ejecutado accidentalmente un comando en Redshift que está actualizando algunas filas (alrededor de 100) de una tabla existente. Ahora necesito eliminar el efecto de ese comando, por lo que necesito revertir esta transacción anterior. Además, estoy usando SQL Workbench/J en el que he seleccionado la opción de “autocommit”.
¿Hay alguna manera de deshacer mi transacción errónea?
Cualquier sugerencia o ayuda sería apreciada.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Sí, hay una forma de revertir la transacción defectuosa. Dado que has seleccionado la opción de “autocommit”, cada transacción se confirma automáticamente después de ser ejecutada. Sin embargo, aún puedes utilizar el comando de rollback para deshacer los cambios realizados por tu comando anterior. Aquí están los pasos que puedes seguir:

    1. Abre tu SQL Workbench/J y conéctate a tu clúster de Redshift.
    2. Abre una nueva ventana de edición SQL.
    3. Escribe el siguiente comando:
      BEGIN;
      

      Este comando inicia una nueva transacción y pone la base de datos en modo de transacción.

    4. Escribe el siguiente comando para realizar el rollback:

      ROLLBACK;
      

      Este comando deshace la transacción actual y deshace los cambios realizados por tu comando anterior.

    5. Escribe el siguiente comando para finalizar la transacción:

      END;
      

      Este comando finaliza la transacción actual.

    Después de ejecutar estos comandos, los cambios realizados por tu comando anterior serán deshechos y tu tabla será restaurada a su estado original.

Comments are closed.