Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

SQL Server:come bloccare una tabella fino al termine di una stored procedure

Avevo bisogno di questa risposta io stesso e dal link fornito da David Moye, ho deciso su questo e ho pensato che potesse essere utile ad altri con la stessa domanda:

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