Dans SQL Server, les mises à jour simultanées peuvent être autorisées à l'aide de l'indicateur de requête WITH (ROWLOCK). Cette requête invite à obtenir un verrou au niveau de la ligne pour chaque ligne renvoyée, permettant ainsi à d'autres connexions de mettre à jour simultanément différentes lignes qui n'entrent pas en conflit avec la requête actuelle.
Mises à jour simultanées de SQL Server SQL
Question : Comment écrire une requête SQL Server pour autoriser les mises à jour simultanées ?
Réponse :
À l'aide de l'indicateur de requête WITH (ROWLOCK)
, vous pouvez autoriser les mises à jour simultanées dans SQL Server. WITH (ROWLOCK)
查询提示,可以在 SQL Server 中允许并发更新。
详细说明:
ROWLOCK
查询提示告诉 SQL Server 为返回的每一行获取行级锁。这允许其他连接同时更新与当前查询不冲突的不同行。
以下示例说明了如何使用 WITH (ROWLOCK)
:
<code class="sql">-- 查询表 Customer 并允许并发更新 SELECT * FROM Customer WITH (ROWLOCK) WHERE LastName = 'Smith';</code>
在上面的查询中,SQL Server 将为表 Customer
中 LastName
为 'Smith' 的每一行获取行级锁。这允许其他连接同时更新 Customer
表中 LastName
不为 'Smith' 的行。
注意事项:
WITH (ROWLOCK)
ROWLOCK
indique à SQL Server d'acquérir un verrou au niveau de la ligne pour chaque ligne renvoyée. Cela permet à d'autres connexions de mettre à jour simultanément différentes lignes qui n'entrent pas en conflit avec la requête actuelle. WITH (ROWLOCK)
: LastName
dans la table Customer > Obtenez des verrous au niveau de la ligne pour chaque ligne de « Smith ». Cela permet à d'autres connexions de mettre à jour simultanément les lignes de la table <code>Client
où le LastName
n'est pas « Smith ». 🎜🎜🎜Remarque : 🎜🎜WITH (ROWLOCK)
peut réduire les performances car elle nécessite l'acquisition d'un verrou pour chaque ligne. 🎜🎜Utilisez cette astuce de requête uniquement lorsque cela est absolument nécessaire. 🎜🎜Si possible, utilisez un mécanisme de verrouillage plus fin, tel que le verrouillage d'index ou de pages spécifiques dans un tableau. 🎜🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!