In SQL Server können gleichzeitige Aktualisierungen mithilfe des Abfragehinweises WITH (ROWLOCK) zugelassen werden. Diese Abfrage fordert dazu auf, für jede zurückgegebene Zeile eine Sperre auf Zeilenebene zu erhalten, sodass andere Verbindungen gleichzeitig verschiedene Zeilen aktualisieren können, die nicht mit der aktuellen Abfrage in Konflikt stehen.
Gleichzeitige SQL Server-Updates SQL
Frage: Wie schreibe ich eine SQL Server-Abfrage, um gleichzeitige Updates zuzulassen?
Antwort:
Mit dem Abfragehinweis WITH (ROWLOCK)
können Sie gleichzeitige Aktualisierungen in SQL Server zulassen. WITH (ROWLOCK)
查询提示,可以在 SQL Server 中允许并发更新。
详细说明:
ROWLOCK
查询提示告诉 SQL Server 为返回的每一行获取行级锁。这允许其他连接同时更新与当前查询不冲突的不同行。
以下示例说明了如何使用 WITH (ROWLOCK)
:
-- 查询表 Customer 并允许并发更新 SELECT * FROM Customer WITH (ROWLOCK) WHERE LastName = 'Smith';
在上面的查询中,SQL Server 将为表 Customer
中 LastName
为 'Smith' 的每一行获取行级锁。这允许其他连接同时更新 Customer
表中 LastName
不为 'Smith' 的行。
注意事项:
WITH (ROWLOCK)
ROWLOCK
weist SQL Server an, für jede zurückgegebene Zeile eine Sperre auf Zeilenebene anzufordern. Dadurch können andere Verbindungen gleichzeitig verschiedene Zeilen aktualisieren, die nicht mit der aktuellen Abfrage in Konflikt stehen. WITH (ROWLOCK)
: LastName
in der Tabelle Customer > Erhalten Sie Sperren auf Zeilenebene für jede Zeile von „Smith“. Dadurch können andere Verbindungen gleichzeitig Zeilen in der Tabelle <code>Customer
aktualisieren, in denen der LastName
nicht „Smith“ ist. 🎜🎜🎜Hinweis: 🎜🎜WITH (ROWLOCK)
kann die Leistung beeinträchtigen, da für jede Zeile eine Sperre erforderlich ist. 🎜🎜Verwenden Sie diesen Abfragetipp nur, wenn es unbedingt erforderlich ist. 🎜🎜Verwenden Sie nach Möglichkeit einen detaillierteren Sperrmechanismus, z. B. das Sperren bestimmter Indizes oder Seiten in einer Tabelle. 🎜🎜Das obige ist der detaillierte Inhalt vonSo schreiben Sie gleichzeitiges Update-SQL in SQL Server. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!