Добавление блокировки таблицы вручную к указанной таблице в SQL Server
Я хочу вставить в одну таблицу, но предотвратить вставку в другую. Можно, например, заблокировать таблицу a для INSERTING, вставить таблицу b, а затем разблокировать таблицу a?
TABLOCK может заблокировать только таблицу, в которую я ВСТАВЛЯЮ.
Спасибо
Мартин Пилч
1 ответ
Решение
SQL Server не позволяет блокировать объекты, как если бы вы делали семафоры. Кроме того, блокировка таблицы не сделает ее доступной только для чтения; это сделает его закрытым для всех.
Вы можете установить блокировку с помощью табличной подсказки, такой как SELECT * FROM MyTable WITH (LOCKNAME)
но это не очень хорошая практика программирования.