Was ist der nutzen dieser Schlüsselwort in sql server (UPDLOCK, ROWLOCK READPAST)
ich gerne wissen, was ist die Verwendung dieser Schlüsselwort in sql server (UPDLOCK, ROWLOCK READPAST)
und Wann es zu benutzen? ich meine, in welcher Art von situation Menschen gehen für (UPDLOCK, ROWLOCK READPAST)
.
1) select top 1 COMMAND
from EXAMPLE_TABLE
with (UPDLOCK, ROWLOCK)
where PROCESSED=false;
nur sehen, die über sql verwenden Sie UPDLOCK
, ROWLOCK
was ist UPDLOCK
, ROWLOCK
?
was wird passieren, für UPDLOCK
, ROWLOCK
?
2) SELECT TOP(1) COMMAND, PROCESSED
FROM TABLE WITH (READPAST)
WHERE PROCESSED = 0
was ist READPAST
? wenn wir READPAST
dann was passieren ?
3) UPDATE OrderTable WITH ( ROWLOCK )
SET ProcessorID = @PROCID
WHERE OrderID IN ( SELECT TOP ( 20 )
OrderID
FROM OrderTable WITH ( ROWLOCK )
WHERE ProcessorID = 0)
hier sind die oben genannten sql verwenden ROWLOCK
für die update-Anweisung und auch im geschachtelten select sub-query......warum??
was wird passieren, für ROWLOCK
?
es ist mein Wunsch, dass bitte erklären jeden Punkt mit vielen Beispiel in einer solchen Art und Weise, wie ein Ergebnis ich kann verstehen, dass die Nutzung dieser Schlüsselwort. Dank
- was bedeutet die Dokumentation sagen, dass Sie nicht verstehen?
- Diese Frage scheint off-topic, weil es nicht über eine bestimmte Frage oder ein problem, sondern fordert eine Breite Allgemeine Fragen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie (
DML
) - Anweisungen zur Angabe eines locking-Methode:UPDLOCK
Orte, aktualisieren, sperren auf Zeilen, die ausgewählt sind bis zum Ende der Transaktion.Eine andere Transaktion kann nicht aktualisieren oder löschen Sie die Zeile, aber Sie sind erlaubt, um es auszuwählen.
ROWLOCK
Orten, sperren auf Zeilenebene, die sich gegen eine Seite oder Tabelle sperren.READPAST
Datensätze, die gesperrt sind, werden nicht zurückgegebenDies ist ein Beispiel für die Verwendung der beiden Aussagen, was bedeutet, dass andere Transaktion kann nicht Lesen, aktualisieren oder löschen von Daten, bis die erste Transaktion beendet.
Hier die Transaktion noch nicht beendet:
Wenn Sie eine select-Anweisung Datensätze, die gesperrt sind, werden nicht zurückgegeben, Beispiel: