Buongiorno a tutti,

sto leggendo questa guida e in particolare sono arrivato a questa lezione ( http://database.html.it/guide/lezion...i-un-database/ ) ma non ho compreso bene un passaggio e vorrei ricevere un chiarimento se possibile.

Al centro della pagina, nella sezione Transazioni dice:

Se le due istruzioni fossero state inserite in una transazione, il problema non sarebbe sorto, dato che la transazione del secondo utente non avrebbe potuto leggere il valore della giacenza fino a quando non fosse stata completata la transazione del primo utente.

Il periodo è preceduto da due esempi di codice che interrogano il database per sapere la giacenza in magazzino di un prodotto e successivamente inviano l'istruzione di aggiornamento dopo aver richiesto l'ordine (da parte di un utente).

Ma cosa vuol dire "se le due istruzioni fossero state inserite in una transazione.." ?

Significa che le istruzioni di interrogazione/aggiornamento sarebbero dovute essere inserite in un'unica (appunto) istruzione di codice?

Ad esempio così?

Codice PHP:
SELECT giacenza FROM prodotti WHERE prodottoID=1453

UPDATE prodotti
SET giacenza
=giacenza-1
WHERE prodottoID
=1453 
Cioè entrambe le istruzioni in un'unica funzione? ..dico bene?


Grazie a tutti.

----------
NB: non so se ho scritto un obrobrio unendo quelle due porzioni di codice ma..forgive me..ho iniziato ora lo studio dei linguaggi SQL