Su una guida(relativa ad oracle8) sull'interprete di comandi SQL, SQL*Plus ho trovato(si riferisce ad oracle ma sono comandi usati anche in altri db anche se magari con unaltra sintassi):

Le modifiche che si effettuano sulla base di dati non sono permanenti fino a che non si da' il comando:

commit;
a fronte di tale comando la base di dati viene permanentemente modificata.

Prima che sia dato il commit e' possibile eliminare tutte le modifiche fino al commit precedente con il comando:
rollback;
Si noti che i comandi di aggiornamento tra due commit formano una transazione, cioe' un'azione sulla base di dati da considerarsi come una unita'.

A questo punto mi viene un dubbio(anzi + di uno):
Quando io eseguo un insert(o un altro comando) da una pagina web(php o jsp) non scrivo mai codice relativo al commit o al rollback.
Che significa??
Che in questo caso non sono necessari o che vengono eseguiti automaticamente o cosaltro??

Quando č necessario esplicitare il commit o il rollback?Quando si richiama dal codice di una pagina web una stored procedure(cosi almeno mi pare di aver visto)??
In quali altre occasioni?

Ciao grazie