Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

SQL Server — jak zablokować tabelę do czasu zakończenia procedury składowanej

Potrzebowałem tej odpowiedzi sam i z linku dostarczonego przez Davida Moye, zdecydowałem się na to i pomyślałem, że może to być przydatne dla innych osób z tym samym pytaniem:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Konwertuj „datetimeoffset” na „date” w SQL Server (przykłady T-SQL)

  2. Jak uwzględnić wyniki związane z ostatnim miejscem podczas używania klauzuli TOP w SQL Server?

  3. Tabela z wieloma wyrażeniami Wartości funkcji w porównaniu z tabelą inline Wartości funkcji

  4. 3 sposoby na zwrócenie ciągu wielu spacji w SQL Server

  5. Jak porównać wersje oprogramowania za pomocą SQL Server?