Io faccio diversamente da te. Io salvo di dati che il cliente ordina in una tabella "temporanea" cioè una tabella non definitiva. Tramite questa tabella posso calcolare qualsiasi cosa. Poi se l'utente conferma l'ordine quei dati vengono copiati nella tabella effettiva e svuoto la tabella temporanea altrimenti la tabella temporanea viene svuotata cosi come gli ordini fittizi che sono stati fatti.