Que comandos de gestão de transações conhece?
sobes.tech IA
Resposta da IA
BEGIN (pode ser implícito), COMMIT, ROLLBACK.
-
BEGIN: Inicia uma nova transação. É opcional para o primeiro operador
DMLnuma sessão, pois a transação começará implicitamente.BEGIN TRANSACTION; -
COMMIT: Guarda todas as alterações feitas na transação atual e termina-a.
COMMIT; -
ROLLBACK: Desfaz todas as alterações feitas na transação atual e termina-a.
ROLLBACK;
Algumas bases de dados também suportam:
-
SAVEPOINT: Define um ponto de salvaguarda dentro da transação atual. Permite regressar a esse ponto sem desfazer toda a transação.
SAVEPOINT my_savepoint; -
ROLLBACK TO SAVEPOINT: Desfaz as alterações até ao ponto de salvaguarda especificado.
ROLLBACK TO SAVEPOINT my_savepoint; -
RELEASE SAVEPOINT: Remove o ponto de salvaguarda.
RELEASE SAVEPOINT my_savepoint;
Exemplo de sequência de comandos:
BEGIN; -- iniciar transação
INSERT INTO users (name) VALUES ('Alice'); -- executar operação
SAVEPOINT before_update; -- definir ponto de salvaguarda
UPDATE products SET price = price * 1.1 WHERE id = 1; -- executar outra operação
-- Se algo correr mal com a atualização, pode regressar ao ponto de salvaguarda
-- ROLLBACK TO SAVEPOINT before_update;
-- Se tudo correr bem, confirmar as alterações
COMMIT; -- terminar a transação e guardar as alterações
-- Se precisar cancelar toda a transação após BEGIN
-- ROLLBACK;
Compreender estes comandos é fundamental para garantir a integridade dos dados em aplicações que trabalham com bases de dados relacionais.