Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 SELECT FOR UPDATE  [new]
Denis Lee
Member

Откуда: Беларусь, Минск
Сообщений: 564
Народ как зделать аналог ORACLE - го
SELECT FOR UPDATE в MS SQL сервер

т.е. все записи которые были возращены в корсоре должны бить заблокированы на сервере для изменений
3 ноя 05, 14:15    [2035739]     Ответить | Цитировать Сообщить модератору
 Re: SELECT FOR UPDATE  [new]
Denis Lee
Member

Откуда: Беларусь, Минск
Сообщений: 564
SELECT * FROM jobs FOR UPDATE

MS SQL Server говорит только в конструкциях DECLARE CURSOR
3 ноя 05, 14:18    [2035757]     Ответить | Цитировать Сообщить модератору
 Re: SELECT FOR UPDATE  [new]
Алексей2003
Member

Откуда: Москва
Сообщений: 5645
select * from table1 with (serializable)

для спящего время бодрствования равносильно сну
3 ноя 05, 14:20    [2035769]     Ответить | Цитировать Сообщить модератору
 Re: SELECT FOR UPDATE  [new]
Prolog
Member

Откуда: Москва
Сообщений: 2791
Использовать SCROLL_LOCKS при объявлении курсора.
3 ноя 05, 14:22    [2035778]     Ответить | Цитировать Сообщить модератору
 Re: SELECT FOR UPDATE  [new]
Denis Lee
Member

Откуда: Беларусь, Минск
Сообщений: 564
не помогает
БД pubs

я в анализаторе делаю
select * from jobs with (serializable)
а в манагере свободно изменяю данные в таблице jobs
3 ноя 05, 14:25    [2035795]     Ответить | Цитировать Сообщить модератору
 Re: SELECT FOR UPDATE  [new]
Алексей2003
Member

Откуда: Москва
Сообщений: 5645
begin tran
select * from table1 with (serializable)


для спящего время бодрствования равносильно сну
3 ноя 05, 14:25    [2035798]     Ответить | Цитировать Сообщить модератору
 Re: SELECT FOR UPDATE  [new]
Denis Lee
Member

Откуда: Беларусь, Минск
Сообщений: 564
мне не нужено создавать курсора, мне необходимо что бы если одн клиент выполнил такого рода операцию у себя и начал редактировать, все остальные не могли редактировать
3 ноя 05, 14:27    [2035806]     Ответить | Цитировать Сообщить модератору
 Re: SELECT FOR UPDATE  [new]
Glory
Member

Откуда:
Сообщений: 104760
Denis Lee
мне не нужено создавать курсора, мне необходимо что бы если одн клиент выполнил такого рода операцию у себя и начал редактировать, все остальные не могли редактировать

Что - всю таблицу сразу нельзя изменять ?
3 ноя 05, 14:28    [2035817]     Ответить | Цитировать Сообщить модератору
 Re: SELECT FOR UPDATE  [new]
GreenSunrise
Member

Откуда:
Сообщений: 12310
https://www.sql.ru/forum/actualthread.aspx?tid=231863#2035798
Обратите внимание на begin tran.
3 ноя 05, 14:38    [2035873]     Ответить | Цитировать Сообщить модератору
 Re: SELECT FOR UPDATE  [new]
WiRuc
Member

Откуда: Воронеж
Сообщений: 1280
Denis Lee
Народ как зделать аналог ORACLE - го
SELECT FOR UPDATE в MS SQL сервер

т.е. все записи которые были возращены в корсоре должны бить заблокированы на сервере для изменений


FOR UPDATE чисто оракловая приблуда, которая необходима для поддержки версионности. В блокировочниках, коим является MSSQL, нет необходимости в таких конструкциях. Все решается стартом транзакции с необходимым уровнем изоляции.
3 ноя 05, 14:43    [2035902]     Ответить | Цитировать Сообщить модератору
 Re: SELECT FOR UPDATE  [new]
Denis Lee
Member

Откуда: Беларусь, Минск
Сообщений: 564
спасибочки
3 ноя 05, 15:08    [2036057]     Ответить | Цитировать Сообщить модератору
 Re: SELECT FOR UPDATE  [new]
ska
Member

Откуда:
Сообщений: 103
Раньше (правда из embedded) было
SELECT xxx INTO :Xxx
FROM TABL (UPDLOCK)
WHERE ...
3 ноя 05, 21:10    [2037379]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить