Страница 1 из 1
Как обновить значения атрибута по известным ID
Добавлено: 21 дек 2006, 09:02
Александр
Вопрос такой:
Есть атрибут, есть его значения - другими словами есть все ID
Не покажете - (если есть) какой-нибудь SQL который перечитывает/обновляет значения атрибута по имеющимся ID
Применительно к выпадающему списку:
Список набрал допустим при старте программы
А потом перед использованием его на форме -просто хочу обновить/перепроверить значения (вдруг изменились)
По идее т.к. не нужно вылавливать ID из базы (они уже выбраны) то остается просто пробежаться по ним - что наверно по скорости будет в 10 раз быстрее чем набирать список заново....
Подскажите кто знает...

как бы это оформить в SQL?
Добавлено: 21 дек 2006, 11:36
Anderyt
я думаю, тайны не открою, если скажу, что для обновления нужно использовать UPDATE ... SET.
но видимо этого не хватает?
а вот насчет списка...
если ИД известны, то можно попробовать вытащить значения колонки Value по известным id из value_string (например)...
но что то мне кажется, что повторное выполнение запроса - все таки лучше. оно не должно слишком медленно работать. и к тому же, а вдруг на самом деле набор значений изменился? стало больше или меньше?
Добавлено: 21 дек 2006, 11:47
Александр
вопрос именно в анализе атрибутов
....
Есть постоянный набор объектов сотрудников и соответственно список построенный на его основе (через EXECSQLSelect)
Он пересчитавается только - когда добавляется/или увольняется сотрудник
В процессе работы сотрудник может поменять атрибутивные статусы такие как
-должность
-отдел
-статус работы
-активность (подключен к базе или нет)
соответственно в каждый момент времени имеем фиксированную таблицу с ID объектов- на основании которых список в действиях нужно не перенабирать а обновлять - и это все-же быстрее (на мой взгляд) пробежаться по готовым ID и надергать атрибутов...для формирования новых строк списка построенных на основе текущих атрибутов известных объектов
а вот как это может выглядеть в синтаксисе SQL?
PS К сожалению пока не научился мыслить на SQL и ко всему подхожу с точки зрения ООП

Добавлено: 21 дек 2006, 12:04
Anderyt
я кстати почему то не уверен, что при изменении значения атрибута у объекта изменится значение в Value у строки с тем же id в value_string... возможно, глупо звучит, но система может просто исправить ссылку на значение атрибута в attrib_value, подставив value_id того значения, которое уже ЕСТЬ в БД...
кто его знает...
зачем держать несколько одинаковых значений одного атрибута?..
так что мне кажется, что перезапрос будет надежнее... ведь речь не идет о выполнении запроса в течение нескольких минут, верно?
Добавлено: 21 дек 2006, 12:55
Александр
ладно не могу объяснить по человечески, речь идет оборьбе за .5~2 сек, т.к. запрос на обновление списка пользователей у меня универсальный - динамически формируемый и по этому первый раз выполняется -2 сек. И в кеше надолго не задерживается т.е. все время иметь 2 сек на запрос не очень приятно.
Да и если впихнуть туда анализ атрибутов будут все 4 сек.
Вот я и думаю как бы извратиться и запрос/хп оставить универсальный (не писать кучу похожих статичных запросов) и скорость поднять
Т.е. Разделить операцию на две
Первая - универсальный,многоразовый, сложный, медленный но при этом не часто используемый запрос (1 раз в день) по отбору ID объектов (допустим по типу)
Вторая - одноразовый быстрый часто используемый запрос (100 раз в день) производящий анализ объектов отобранных в первой процедуре и хранящихся в виде ID в значениях строкового атрибута.
Вот такая вот мысль....