Como desfazer uma operação no postgres, como um update ou delete ?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Como desfazer uma operação no postgres, como um update ou delete ?
Olá Lucas, tudo bem?
Para desfazer uma operação como um Update ou Delete no PostegreSQL, é necessário que estas operações sejam feitas dentro de uma transação explícita (uma transação é uma unidade lógica de processamento que tem por objetivo preservar a integridade e a consistência dos dados)
ou seja você precisa informar ao PostgreSQL que está iniciando uma bloco de transação, caso contrario não é possível reverter uma operação.
Na documentação do PostgreSQL , informa que o PostgreSQL trata cada instrução SQL como sendo executada dentro de uma transação. Se você não emitir um comando BEGIN, cada instrução individual terá um comando implícito BEGIN e (se for bem-sucedido) um COMMIT. Por este motivo você não consegue reverter as operações que foram bem sucedidas.
Para iniciar uma transação, você utiliza o comando BEGIN, executa todos as operações e finaliza a transação com um COMMIT ou um ROLLBACK
BEGIN;
UPDATE tabela SET campo = 'teste' WHERE id = 0;
ROLLBACK;No Curso de PostgreSQL: Comandos DML e DDL, na aula 04 Alteração dos Dados, especificamente na atividade 05 Transações o instrutor explica como funciona as transações no PostrgeSQL, indico que você veja está aula, assim ti ajudara a entender ainda mais este assunto.
Espero ter ajudado, qualquer nova dúvida é só falar e bons estudos!
Oii boa noite, é vi aqui no exemplo anterior bacana mesmo mas não é uam boa pratica né, toda vida fazer uma transação ao fazer um delete ou update hehe Mas muito bacana.