Имя: Пароль:
1C
1C 7.7
v7: 1c++ UPDATE (2)
0 monsterZE
 
29.05.12
15:21
уже была такая ветка, но старую поднять не дают.. пишу в новой.
вобщем-то вопросы самообразовательные.
скл-2008 + 1с 7.7 + 1с++
создал отдельную базу с парой табличек. коннекчусь к ней из 1с и пишу в таблички то, что мне нужно. все работает давольно быстро.
элементы в табличках имеют поля ИД и РодительИД, апдейчу по ИД.. хотя логичнее было бы сперва выбрать по РодительИД и уже в этой выборке искать сам элемент для апдейта.
вот такие вопросы:
возможно ли реализовать такой апдейт в одном запросе? (запрос в завпросе?)
будет ли он быстрее, чем текущий вариант?
апдейтить надо несколько свойств элемента.
сам поискал.. с наскока не попалось или туплю с синтаксисом. =)
1 Ёпрст
 
29.05.12
15:25
дык во фром воткни подзапрос на возврат чего угодно
2 Ёпрст
 
29.05.12
15:27
3 Vakhrin
 
29.05.12
15:29
если ИД уникален и индексирован, то быстрее не будет с двойной проверкой
если уникальность индекс по РодительИД и ИД (именно в таком порядке), то наиболее быстро и правильно будет
update ... where РодительИД = ? and ИД = ?
4 monsterZE
 
29.05.12
15:43
(1) пишет - "неправильный синтаксис" =) ща еще поковыряю..
(3) ИД и РодительИД уникальные и индексируемые (попробую с AND)
5 monsterZE
 
29.05.12
15:49
(4) или данных не так много или разницы не видно.
Спасибо. =)
6 Vakhrin
 
29.05.12
15:51
с and делай только если у тебя составной индекс есть на оба поля и условие в запросе в порядке нахождения полей в индексе
7 monsterZE
 
29.05.12
15:55
(6) а где прописывается такой тип индекса? лазаю по настройкам поля в СКЛ-Студио, что-то такого не нахожу..
8 Ёпрст
 
29.05.12
16:06
(7) в дереве у нужной таблички смотри индексы.. можешь и свой создать, включив в него 2 поля своей таблички
9 monsterZE
 
29.05.12
16:10
(8) Ага, спасибо, нашел. =) попробую сперва все-таки с FROM правильно написать.