A minha duvida é o seguinte:
Na procedure A tenho um INSERT na tabela A e chamo a Procedure B que tenho um INSERT na Tabela B.
Na procedure B dou o Commit, mas não quero que o Commit salve os dados do Insert da Procedure A.
Ou seja como faço para dar Commit ou Rollback por “Sessão ou Transação”.
Commit e RollBack por Transação
- dr_gori
- Moderador
- Mensagens: 5024
- Registrado em: Seg, 03 Mai 2004 3:08 pm
- Localização: Portland, OR USA
- Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Vais conseguir isso com
Cria tua procedure B da seguinte forma:
Dessa forma, se você der COMMIT nela, não afetará a procedure A. Inclusive, se você der rollback na procedure A, a B continuará comitada.
Isso é muito util quando se quer fazer algum tipo de LOG, pois mesmo se a aplicação disparar algum ROLLBACK, o LOG continuará gravado certinho...
AUTONOMOUS TRANSACTION
.Cria tua procedure B da seguinte forma:
CREATE OR REPLACE PROCEDURE b IS
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
etc... etc... etc...
Isso é muito util quando se quer fazer algum tipo de LOG, pois mesmo se a aplicação disparar algum ROLLBACK, o LOG continuará gravado certinho...
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 14 visitantes