powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Объясните про select for update
2 сообщений из 2, страница 1 из 1
Объясните про select for update
    #38884226
saxix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Требуется мне проапдейтить записи в таблице (Nhibernate & PostrgreSQL).
Делаю запрос и получаю список id (IList<Int64>) записей, которые, возможно, потребуется проапдейтить. Далее в цикле прохожу по коллекции и из этой же таблицы по id получаю всю запись (объект). По другим полям определяю, требуется ли делать update. Если надо - произвожу update, нет - иду дальше. Требуется запретить update, который будет производиться из других экземпляров приложений.
При select for update блокировка делается на update записи или и на последующий select и update записи?
Где делать select for update (в запросе на получение списка id или в запросе на получение объекта)?
Как снимается блокировка?
...
Рейтинг: 0 / 0
Объясните про select for update
    #38884361
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
saxix, в документации сказано что блокировка действует до конца текущей транзакции:
http://www.postgresql.org/docs/9.0/static/sql-select.html FOR UPDATE causes the rows retrieved by the SELECT statement to be locked as though for update. This prevents them from being modified or deleted by other transactions until the current transaction ends. That is, other transactions that attempt UPDATE, DELETE, or SELECT FOR UPDATE of these rows will be blocked until the current transaction ends. Also, if an UPDATE, DELETE, or SELECT FOR UPDATE from another transaction has already locked a selected row or rows, SELECT FOR UPDATE will wait for the other transaction to complete, and will then lock and return the updated row (or no row, if the row was deleted).
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Объясните про select for update
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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