Скрипт: Перебор дочерних объектов без отметки в атрибуте
Добавлено: 26 июл 2007, 12:32
Может кому понадобится
Лоция предлагает перебирать дочерние объекты в цикле используя для исключения обработанных объектов - два момента - найти max id и проставить отметку в атрибуте...
но можно же гораздо проще и главное быстрее - искать min id сохранять его в переменной и следующий проход делать по сохраненному значению
например выбрать все объекты с направленной связью
зацикливаем
и скорость больше
и атрибуты целее
Лоция предлагает перебирать дочерние объекты в цикле используя для исключения обработанных объектов - два момента - найти max id и проставить отметку в атрибуте...
но можно же гораздо проще и главное быстрее - искать min id сохранять его в переменной и следующий проход делать по сохраненному значению
например выбрать все объекты с направленной связью
Код: Выделить всё
Current_id=Set(0)
...
sql = Set ('
SELECT min(rw.id)
FROM LSDBO.object_reference_view rw,
lsdbo.tree_link_view tl
WHERE tl.parent_id =100004656200000
and tl.link_id =rw.id
and tl.link_type_id = 11
and rw.id>'+string(Current_id))
Current_id= Set ( number( f_ExecSQLSelect_2 ( sql,'','')) )
...
и скорость больше

и атрибуты целее
