Una spiegazione...
- ROWLOCK/PAGELOCK è granularità
- XLOCK è la modalità
La granularità e il livello e la modalità di isolamento sono ortogonali.
-
Granularità =cosa è bloccato =riga, pagina, tabella (
PAGLOCK, ROWLOCK, TABLOCK
) -
Livello di isolamento =durata del blocco, concorrenza (
HOLDLOCK, READCOMMITTED, REPEATABLEREAD, SERIALIZABLE
) -
Modalità =condivisione/esclusività (
UPDLOCK, XLOCK
) -
"combinato" es.
NOLOCK, TABLOCKX
XLOCK avrebbe bloccato la riga esclusivamente come desideri. ROWLOCK/PAGELOCK non avrebbe.