У меня есть таблица с столбцом с именем Time типа datetime2.Блокировка при вставке в SQL Server Express 2014
Мне нужно запустить весь этот запрос, если никто не читает или не изменяет данные в таблице при его выполнении.
IF NOT EXISTS (SELECT Id FROM Bookings WHERE Time >= '2016-02-02 09:00:00' AND Time < '2016-02-02 11:00:00') BEGIN -- Insert some data END
Запрос находится внутри транзакции в приложении ASP.NET, но я не уверен, что это достаточно. Нужно ли мне применять подсказки блокировки или установить уровень изоляции? Если да, то как мне это сделать?
Я читал о TABLOCK, и, похоже, он делает то, что я хочу, но это излишнее? И где бы я указал, что TABLOCK требуется для всего запроса, а не только для оператора select?