Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Используйте SELECT / 2 сообщений из 2, страница 1 из 1
29.01.2001, 14:33
    #32001779
Oleg F
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Используйте SELECT
В команде SELECT предусмотрены специальные опции для явного указания способа блокировки.
Например, UPDLOCK. Нужно послать отобрать SELECT-ом эту запись по уникальному идентификатору (т.е. по значению(ям) первичного ключа) с указанием способа блокирования. Тогда до окончания транзакции запись будет заблокирована указанным способом.
Соответственно, когда кто-то другой обращается к этой записи, он будет ждать пока запись не разблокируется. С помощью команды SET LOCK_TIMEOUT можно задать время, в течение которого другой клиент ждёт освобождения записи. Как только время истечёт, клиент получит сообщение об ошибке.
Короче, почитайте документацию про это и поэкспериментируйте с помощью SQL-запросов и Query Analazer-а. И сразу станет понятно, как и что блокировать.
А поля всякие городить для отслеживания блокировок нужно было в SQL Server 6.5 и более ранних, т.к. там не было команды SET LOCK_TIMEOUT и не было блокировки на уровне записи и приходилось изощраться (на себе испытал). А в 7.0 без этого можно обойтись.
...
Рейтинг: 0 / 0
29.01.2001, 14:35
    #32001780
Oleg F
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Используйте SELECT
Это я не туда отправил, хотел ответить на вопрос "Как заблокировать запись", а почему-то попал в корень.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Используйте SELECT / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]