Condividi tramite


Modalità autocommit

In modalità commit automatico, ogni operazione di database è una transazione di cui viene eseguito il commit quando viene eseguita. Questa modalità è adatta a molte transazioni reali costituite da una singola istruzione SQL. Non è necessario delimitare o specificare il completamento di queste transazioni. Nei database senza supporto delle transazioni, la modalità commit automatico è l'unica modalità supportata. In tali database, le istruzioni vengono sottoposte a commit quando vengono eseguite e non è possibile eseguirne il rollback; sono quindi sempre in modalità commit automatico.

Se il sistema DBMS sottostante non supporta le transazioni in modalità commit automatico, il driver può emularle eseguendo manualmente il commit di ogni istruzione SQL durante l'esecuzione.

Se un batch di istruzioni SQL viene eseguito in modalità commit automatico, il momento in cui viene eseguito il commit delle istruzioni del batch è specifico dell'origine dati. È possibile eseguirne il commit durante l'esecuzione, o come insieme dopo l'esecuzione dell'intero batch. Alcune origini dati possono supportare entrambi i comportamenti e possono fornire un modo per sceglierne uno piuttosto che gli altri. In particolare, se si verifica un errore al centro del batch, il fatto che venga eseguito o meno il commit o il rollback delle istruzioni già eseguite è specifico dell'origine dati. Pertanto, le applicazioni interoperabili che usano batch e ne richiedono il commit o il rollback come insieme devono eseguire batch solo in modalità commit manuale.