PDA

Visualizza la versione completa : [ORACLE] Gestione Transaction


delfina blu
19-09-2008, 12:57
Ciao,
ecco il mio problema: ho delle query che a catena vanno a gestire i dati delle mie tabelle su un DB Oracle 9. Avrei necessità che se una delle mie query non andasse a buon fine, tutte le modifice precedentemente fatte venissero annullate. Credo che le Transaction servano proprio in questi casi. La mia domanda è: come si scrive tutto ciò in SQL?

Grazie

Dalton
21-09-2008, 01:48
non son certo che le Transaction servano a quello...ma non potresti generare dei trigger per gestire le query che cannano,
che eseguano dei rollback o evitino il commit?
ciao

FreeManX
21-09-2008, 19:35
ciao,
se devi fare tutto direttamente su oracle, non ti serve una relate "transaction", in generale quando apri (Oracle) una sessione di comandi tale sessione ha delle configurazioni, come ad esempio "autocommit=off". (Guarda: http://infolab.stanford.edu/~ullman/fcdb/oracle/or-nonstandard.html).

Quindi se non lo e' già ti basta un "set autocommit off" dopodiche fai tutte le tue insert/delete/update ed alla fine se nessun'errore si e' verificato un commit, oppure un rollback.

Per completezza "autocommit=on" implica che ad ogni insert/delete/update eseguita le modifiche vengono salvate con un "commit" quindi solo la singola operazione è "atomica".

A.

Loading