Imagine the scenario, someone adds an item to a cart and then proceeds to check out. On the very rare occasion that the price in the DB is updated before they have reached the end of their checkout process, what should happen? I see it happening one of two ways:
At some point (probably on the confirm order page) they will notice the price has changed. I would save the price around this stage because I would also save an order to the DB (status- Pending). This is slightly undesirable as it may cause confusion to the customer why their order is more than they expected.
When they add the item to the cart I actually save the price then so that if they continue without ever removing it from the cart they will get it at the price listed for. The problem I see here is if there was a sale or something similar then the item in the cart could be left at a cheaper price for a long time (I'm happy for items to sit in the cart for a while as it means they may one day be bought).
Any suggestions/real world examples?