Informazioni sulle istruzioni di controllo delle transazioni

Una transazione è una sequenza di uno o più istruzioni SQL che Oracle Database tratta come una sola unità: vengono eseguite tutte le istruzioni oppure nessuna di esse. È necessario utilizzare le transazioni per modellare business process che richiedono l'esecuzione di più operazioni come un'unica unità.

Ad esempio, quando un responsabile lascia l'azienda, è necessario inserire una riga nella tabella JOB_HISTORY per indicare quando è via, nonché aggiornare il valore di MANAGER_ID nella tabella EMPLOYEES per ogni dipendente che fa riferimenti a tale responsabile. Per modellare questo processo in un'applicazione, è necessario raggruppare le istruzioni INSERT e UPDATE in una singola transazione.

Le istruzioni di controllo delle transazioni di base sono SAVEPOINT, COMMIT e ROLLBACK:

Nell'ambiente SQL*Plus è possibile immettere un'istruzione di controllo delle transazioni dopo il prompt SQL>.

Nell'ambiente SQL Developer è possibile immettere un'istruzione di controllo della transazione nel Foglio di lavoro. In SQL Developer sono inoltre disponibili le icone Commit delle modifiche e Rollback delle modifiche, descritte in "Esecuzione del commit di transazioni" e "Esecuzione del rollback di transazioni".

Attenzione:

Se non si esegue un commit esplicito di una transazione in modo esplicito e il programma termina in maniera anomala, il database esegue automaticamente il rollback dell'ultima transazione di che non ha eseguito il Commit.

A causa di questo comportamento, terminare esplicitamente le transazioni nei programmi applicativi eseguendone il commit o il rollback.

Vedere anche: