AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
DAX
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.11.2009, 00:01   #2  
Romul is offline
Romul
Участник
 
186 / 11 (1) +
Регистрация: 26.12.2007
Цитата:
Сообщение от Forward Посмотреть сообщение
Возникает вопрос, как сделать чтобы запрос был с READUNCOMMITTED, а не с UPDLOCK ?
Не может быть.
Специально пепепроверил на своей базе: READUNCOMMITTED.
SELECT * FROM "CRONUS Россия ЗАО$Ledger Entry Dimension" WITH (READUNCOMMITTED) WHERE (("Table ID"=5802)) ORDER BY "Table ID","Entry No_","Dimension Code" ...................

UPDLOCK может возникнуть в 4 случаях:
1. либо происходит modify на запись.
2. либо предусмотрительно лочите таблицу (повышаете уровень изоляции с READUNCOMMITTED до UPDLOCK;
3. либо FINDSET(TRUE,FALSE). В этом случае LOCKTABLE устанавливается автоматически и данные лочатся. Рекоммендуется на большом наборе данных.

3-й случай - это, по сути, замена двух последовательных операторов
LOCKTABLE;
FINDSET
на один FINDSET(TRUE,FALSE)

4. либо FINDSET(TRUE,TRUE)
LOCKTABLE в 5802 не встречается, по ссылке тоже данный рекорд не передается и до этого нигде не лочится FINDSET'ами. UPDLOCK просто физически не должно быть...
У вас кодэюнит не перелопачен ручками?
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 00:56.