Имя: Пароль:
1C
1С v8
Пакетные запросы Для изменения
, ,
0 _Demos_
 
10.10.13
12:37
Используем базу в автоматическом режиме блокировки
Хочется уточнить если использовать предложение "ДЛЯ ИЗМЕНЕНИЯ"  в пакетном запросе, как наложатся блокировки на таблицы?
После выполнения всего запроса или при выполнении первого же запроса?
1 Spieluhr
 
10.10.13
12:40
после первого же
2 Spieluhr
 
10.10.13
12:41
* вернее при выполнении
3 _Demos_
 
10.10.13
12:47
Почему возник вопрос-то?
Есть необходимость выполнить 3 запроса к одной и той же таблице. Сделать в одном громоздко получается.
4 fisher
 
10.10.13
12:56
Ты ж указываешь ДЛЯ ИЗМЕНЕНИЯ все равно для конкретных запросов пакета и для их таблиц. Как указываешь - так и лочится будет при выполнении этих запросов и в том же порядке.
До конца транзакции.
5 fisher
 
10.10.13
12:59
На стороне СУБД, по идее, конструкция ДЛЯ ИЗМЕНЕНИЯ транслируется в хинты блокировок соответствующих селектов.
SELECT ... FROM ... WITH(ДЛЯ ИЗМЕНЕНИЯ)
:)
6 Spieluhr
 
10.10.13
13:24
(3) блокировки от одного и того же пользователя не будут конфликтовать
7 _Demos_
 
10.10.13
13:26
(6) будут проверено
если провожу два документа, то второй ждет первого
8 _Demos_
 
10.10.13
13:27
+(6) может запросы с одной транзакции не будут конфликтовать?
9 _Demos_
 
10.10.13
13:38
Уточню вопрос.
Будут ли выполняться все запросы,
если в одной транзакции выполню два запроса с предложением "для изменения" в обоих запросах и при том к одной и той же таблице.

Сейчас у меня довольно странные ошибки, то ли в коде то ли проблема в запросах. Если делаю у себя на компе, то вроде нормально, но походу работу на разных компьютерах выясняется что первый запрос не отрабатывает
10 Spieluhr
 
10.10.13
13:40
(9) в одной транзакции - можно, т.к. блокировки от одного пользователя всегда совместимы. Если разные транзакции - то по общим правилам...
11 Spieluhr
 
10.10.13
13:41
(9) + под пользователем имеется в виду сеанс работы с ИБ
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.