Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Rollback tra diverse funzioni

    Ciao ho creato una classe in cui sto costruendo una serie di funzioni.

    Attualmente sto lavorando sulla registrazione che richiede diversi insert su db.
    Del tipo: inserimento tbl utente, inserimento tbl azienda

    Questi sono inseriti in funzioni specifiche, quindi ho
    una function registrazione che richiama

    function insert_utente (contiene query insert su tblutente)
    function insert_aziende (contiene query insert su tblazienda)

    io posso mettere il rollback sulla function registrazione...
    ma se l'errore avviene nella function insert_aziende

    come faccio a farmi fare il rollack di tutto? delle insert_aziende, insert_utente e registrazione?

    NB il codice è solo indicativo... non è minimamente corretto
    codice:
     
    function registrazione()
    {
         begin transaction
    
    INSERT ACCESS
    
    insert_utente(id);
    
    insert_aziende(id);
    
    if(ok)
    
    commit 
    
    else 
    
    rollback
    
    
    }

  2. #2
    io farei così (visto che una transazione è un'unità atomica):
    Inizio transazione
    Eseguo la finzione insert_utente
    Se insert_utente ritorna un valore di errore --> Eseguo il rollback e termino tutto
    Eseguo la funzione insert_aziende
    Se insert_aziende ritorna un valore di errore --> Eseguo il rollback e termino tutto
    Se tutto va a buon fine effettuo il commit

    ma non fai già così?
    PS: Per che RDBMS stiamo discutendo?

  3. #3
    Quote Originariamente inviata da LuciferSam86 Visualizza il messaggio
    PS: Per che RDBMS stiamo discutendo?
    scusa hai ragione non ho specificato quale ... mysql innodb

    forse ho trovato NestedPDO che può esser utile..

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.