Oracle TCL - Transation Control Language

Categoria: Oracle
Publicado em 20 de Junho de 2013

O controle de transações do Oracle (TCL) permite:

1) adiar a gravação das modificações no banco de dados até que o comando COMMIT seja executado;

2) voltar últimas modificações realizadas usando o comando ROLLBACK;

3) criar pontos de controle no banco de dados com o comando SAVEPOINT para que mais tarde seja possível voltar as modificações usando o comando ROLLBACK TO.

O escopo do TCL é a sessão atual. Caso a conexão com o banco de dados seja perdida, a sessão atual é finalizada.

Um commit implícito ocorre quando uma instrução SQL do tipo DDL (data definition language) seja executada. As instruções do tipo DDL são as que modificam a estrutura do banco de dados: CREATE TABLE, ALTER TABLE, DROP TABLE etc. O DDL é o oposto do DML (data manipulation language), cujas instruções são compostas por comandos que manipulam dados: SELECT, INSERT, UPDATE, DELETE...

O uso do TCL é bem simples.  Se durante uma sessão deseja-se desfazer as alterações, executa-se o comando ROLLBACK. Neste caso, todas as alterações da sessão atual são desfeitas.

1
ROLLBACK;

Se deseja-se retornar a um ponto de controle criado, o comando ROOLBACK TO pode ser usado.

1
ROLLBACK TO nome_do_ponto;

Porém, para que o ponto de controle exista, é necessário que antes, um ou mais pontos tivessem sido criados com o comando SAVEPOINT.

1
SAVEPOINT nome_do_ponto;

Para salvar as modificações realizadas por comandos DML, deve-se executar o comando COMMIT.

1
COMMIT;





 

Copyright © Fernando Hidemi Uchiyama 2010 - Todos os direitos reservados