Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / блокировки.. еше раз / 3 сообщений из 3, страница 1 из 1
11.12.2001, 09:28
    #32018792
NewComer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
блокировки.. еше раз
Можно поставить блокировку на несколько строк, с возможностью их чтения.
А возможно ли прочитав строку узнать что она заблокированна от изменеий? не используя при этом доп. таблиц и т.д.
Т.е такая проблема: читать юзверь строки может, но при изъявлении желания редактирования какой - либо строки он сразу получал уведомление что запись блокирована, а не после попытки ее изменения.
...
Рейтинг: 0 / 0
11.12.2001, 09:47
    #32018796
блокировки.. еше раз
Блокируем:

begin tran
select ... from ... (updatelock) where <some_critery>
.....
commit

Читаем без проблем (до тех пор, пока не было физ. изменения записей)

select ... from ... where <some_critery> and ...

Проверяем, заблокировано или нет.

set lock_timeout 0
select ... from ... (updatelock) where <some_critery> and ...

Оба-на - ошибка. Значит, заблокировано.


Другой вариант - выставление и чтение меток в спец. полях

Ещё один вариант (только в slq2000) - использование процедур sp_getapplock и sp_releaseapplock
...
Рейтинг: 0 / 0
13.12.2001, 17:50
    #32018902
Garya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
блокировки.. еше раз
Предлагаю тщательнее подумать, действительно ли корректно поставлена задача. Есть проблема "грязного чтения", связанного с изолированностью транзакций. но есть и подобная проблема, которая с транзакциями вообще никак не связана. Юзер Юзерович открыл на просмотр таблицу и ушел попить чайку, оставив содержимое таблицы на экране. Когда он вернулся, содержимое таблицы на эране все то же самое, но на сервере оно уже совсем другое (другие пользователи много чего наизменяли, наудаляли и надобавляли). Но Юзеру Юзеровичу это невдомек, и он пытается править таблицу в том виде, в котором видит ее содержимое на экране... И получает еггогом по глазам (а если не получает, это еще хуже - программиста за хвост и об стену). Ну и что с того, что таблицу блокировали и разблокировали, по нескольку раз, пока он пил чай?
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / блокировки.. еше раз / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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