Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да намекнете за заключване на актуализиране без дублиране на код на съхранена процедура

Ако извикванията към SP1, последвани от SP2, са атомарни, те трябва да бъдат комбинирани в T-SQL. Или загубете транзакцията c#. Вие удължавате транзакцията ненужно с двупосочни пътувания.

Освен това, защо има UPDLOCK на SP1UPDLOCK, но не и за SP1? Не виждам защо. Ако проблемът е в съветите за заключване, не ги използвайте. Ако нещо може да се сериализира (защо?), тогава отново, направете го едно атомно извикване

Имайте предвид, че по подразбиране все пак е READ COMMITTED

И накрая, имате предвид, че "семафорът" не се заключва? Използване на sp_getapplock ще контролира потока през кода, без да използва ключалки на данните




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Вмъкване на изображение в базата данни на SQL Server 2008 Express без предно приложение

  2. Как да групирате по месеци с помощта на SQL Server?

  3. Прочетете множество таблици с релации с t-sql в DataSet

  4. TSQL Pivot без агрегатна функция

  5. Кога да се използва EXCEPT вместо NOT EXISTS в Transact SQL?