SQLite esegue tutto il blocco necessario per implementare lo schema di transazione descritto dalle istruzioni SQL. In particolare, se non ne descrivi alcuno, si ottiene un comportamento di auto-commit, con un blocco trattenuto per la durata di ciascuna istruzione e poi rilasciato al termine dell'istruzione. Se hai bisogno di transazioni più lunghe (spesso vere!), Le chiedi esplicitamente con BEGIN TRANSACTION
(spesso abbreviato in BEGIN
) e finisci con COMMIT TRANSACTION
(o ROLLBACK TRANSACTION
). La gestione delle transazioni viene spesso gestita dall'interfaccia della lingua (in quanto ciò semplifica notevolmente l'accesso, la durata della transazione a un blocco di codice o una chiamata al metodo), ma al livello base scende a BEGIN
/COMMIT
/ROLLBACK
.
In breve, hai transazioni. I blocchi vengono utilizzati per implementare le transazioni. Non hai serrature grezze (che è una buona cosa, sono piuttosto difficili da ottenere più di quanto si possa pensare dal primo sguardo).
fonte
2012-06-08 22:14:00