Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

SQL Server - Comment verrouiller une table jusqu'à ce qu'une procédure stockée se termine

J'avais besoin de cette réponse moi-même et à partir du lien fourni par David Moye, j'ai décidé de cela et j'ai pensé que cela pourrait être utile à d'autres avec la même question :

CREATE PROCEDURE ...
AS
BEGIN
  BEGIN TRANSACTION

  -- lock table "a" till end of transaction
  SELECT ...
  FROM a
  WITH (TABLOCK, HOLDLOCK)
  WHERE ...

  -- do some other stuff (including inserting/updating table "a")



  -- release lock
  COMMIT TRANSACTION
END