Bom galera, estou aprendendo banco de dados e estou usando o SQL SERVER, ao fazer um update no banco e alterou. até ai OK!
Caso eu quiser voltar os valores que atualizei no banco teria como antes do update tem como?
Bom galera, estou aprendendo banco de dados e estou usando o SQL SERVER, ao fazer um update no banco e alterou. até ai OK!
Caso eu quiser voltar os valores que atualizei no banco teria como antes do update tem como?
Apos fazer o Commit no banco, não é possível voltar atras da informação, a não ser que tenha uma trigger de log da tabela, para saber qual era o valor antigo.
Olá,
tem como sim, você utilizando a expressão update, internamente ele é executado desta forma:
begin tran
update…
commit
Então ele automaticamente confirma a transação e não é possível voltar com os dados originais.
Mas caso você queira voltar, faça o seguinte:
BEGIN TRAN
seu update aqui…
Você viu que estava errada a query e quer voltar? Basta executar o comando Rollback.Ou se a query está correta, execute commit.
Se após o seu UPDATE você executar COMMIT, não será possível reverter, a não ser que você volte um backup da tabela ou utilize o recovery (depende da configuração do seu banco)
Ola.
Transação ja foi dito aqui, certo?
uma das coisas que precisam ser feitas com um banco de dados é o backup. por exemplo uma vez por dia um sistema automatizado salva, de alguma forma, o banco de dados para em caso de catastrofe vc poder reaver parte do que ja foi salvo.
se vc fez uma alteração e precisa voltar, mas não usou transações, vc tem a opção de tentar ver o backup.
agora se vc precisa voltar atras nas operações com frequencia, então o seu modelo de dados precisa suportar algum tipo de historico. nesse caso vc não faz um simples UPDATE e sim faz um INSERT também em uma tabela de historico ( que guarda os valores do passado ) e assim vc pode voltar em caso de necessidade.
por exemplo ao inves de deletar um cartao de credito, vc pode ter varios que podem ficar inativos. quer usar um cartao novo, vc inativa o antigo e insere um novo. deu ruim? vc volta atras.