Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179

    funzionamento commit e rollback

    Scusate volevo sapere bene il funzionamento della commit e rollback in vb.net, nel senso che quando eseguo una insert o update è come se fosse messo in coda però viene effettuata solo al commit. Domande:

    1.) Effettuo le query ma non faccio la commit-> se non erro non dovrebbe fare nulla, quindi non le inserisce?

    2.) Effettuo una commit senza aver fatto nessuna query?
    3.) Effettuo una rollback senza aver fatto nessuna query?

    4.) Effettuo una rollback mi porta alla situazione iniziale, ma se ho fatto prima una commit dovrebbe aver fatto tutto quindi mi riporta alla situazione subito dopo la commit?
    Tony

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,465
    Le operazioni su un server SQL che supporta le transazioni vengono effettuate generalmente all'interno di una transazione, appunto, che può essere avviata anche implicitamente (quando non vi è una transazione attiva, la transazione ha inizio con l'esecuzione di qualsivoglia query).

    L'operazione di Commit conferma le eventuali modifiche apportate ai dati fino a quel momento (inserimenti, aggiornamenti, cancellazioni, ecc.) anche su più tabelle; l'operazione di Rollback annulla tali operazioni.

    In sostanza, le operazioni all'interno di una transazione sono atomiche: o vengono confermate nella loro interezza o annullate allo stesso modo.

    Chiamare Commit o Rollback senza avviare una transazione non ha senso (è un po' come eseguire una query senza aver aperto la connessione... se non hai una transazione attiva, cosa confermi??).

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179

    Re: funzionamento commit e rollback

    Originariamente inviato da tony83
    Scusate volevo sapere bene il funzionamento della commit e rollback in vb.net, nel senso che quando eseguo una insert o update è come se fosse messo in coda però viene effettuata solo al commit. Domande:

    1.) Effettuo le query ma non faccio la commit-> se non erro non dovrebbe fare nulla, quindi non le inserisce?

    2.) Effettuo una commit senza aver fatto nessuna query?
    3.) Effettuo una rollback senza aver fatto nessuna query?

    4.) Effettuo una rollback mi porta alla situazione iniziale, ma se ho fatto prima una commit dovrebbe aver fatto tutto quindi mi riporta alla situazione subito dopo la commit?
    quindi dalla risposta posso dedurre per la 2° e 3° domanda avendo una transazione aperta ma nessuna query effettuata mi restituisce un'errore
    mentre per la 1° non esegue nulla,
    mentre per la 4° rollback mi porta alla situazione iniziale quindi è giusto come dicevo io cioè: mi porta alla situazione iniziale, ma se ho fatto prima una commit dovrebbe aver fatto tutto quindi mi riporta alla situazione subito dopo la commit.

    Giusto?
    Tony

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,465

    Re: Re: funzionamento commit e rollback

    Originariamente inviato da tony83
    Giusto?
    Corretto!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.