Обяснение...
- ROWLOCK/PAGELOCK е детайлност
- XLOCK е режим
Нивото и режимът на детайлност и изолация са ортогонални.
-
Грануларност =какво е заключено =ред, страница, таблица (
PAGLOCK, ROWLOCK, TABLOCK
) -
Ниво на изолация =продължителност на заключване, паралелност (
HOLDLOCK, READCOMMITTED, REPEATABLEREAD, SERIALIZABLE
) -
Режим =споделяне/ексклузивност (
UPDLOCK, XLOCK
) -
"комбиниран", напр.
NOLOCK, TABLOCKX
XLOCK щеше да заключи реда ексклузивно, както искате. ROWLOCK/PAGELOCK не биха го направили.