Форум: "Базы";
Текущий архив: 2002.11.18;
Скачать: [xml.tar.bz2];
ВнизМощная заморочка для знатоков SQL! Помогите плз Найти похожие ветки
← →
John13 (2002-10-29 12:40) [0]Проблема:
Связываю два Query через DataSourse Query2->DataSourse1->Query1 и пытаюсь из Query2 обратиться к выборке Query1 по параметру скажем [:ID]. Query2 вообще-то делает Update, но глючит и модернизирует только строку соответсвующую 1-й из выборки Query1.
Добавил в Update ... Where Exists (Select ... ID=:ID) - аработало, но так тормозит :( (Все же 3 запроса выполняется: Query1, Query2.Select и Query2.Update).
Вопрос:
нельзя ли сделать как-нибудь покруче и побыстрее?
← →
Desdechado (2002-10-29 12:46) [1]а цель таких махинаций? что делать надо?
← →
Советчик (2002-10-29 12:46) [2]нихрена не понятно
← →
John13 (2002-10-29 12:49) [3]3 таблички: Строки документов, справочник изделий, справочник прайсов. Выбраны строки относящиеся к одному документу и надо их расценить по соответсвующему прайсу для каждого изделия. Формируем Query1, содержащее ID - Цена, а из второго обращаемся к нему по ID с целью проставить новую цену. В одном Update такого не сделать.
← →
John13 (2002-10-29 12:52) [4]Прислать исходник что-ли?
← →
Советчик (2002-10-29 12:52) [5]да, Черномырдину до тебя далеко.
← →
Советчик (2002-10-29 12:54) [6]куда исходник?
вот вышли Desdechado на мыло все исходники вместе с базой данных и на всякий случай вместе с дельфи.
Я думаю, он тебе поможет...
← →
John13 (2002-10-29 12:58) [7]Спасибо :-\, я всегда в вас верил
← →
Советчик (2002-10-29 13:00) [8]незачто.
Всегда рад посоветовать
← →
ЮЮ (2002-10-29 13:16) [9]Нарисовал бы, для начала, текст запроса и структуру таблиц, авось и без дельфи бы обошлось :-)
← →
Victor_Cr (2002-10-30 09:39) [10]В твоем случае я бы воспользовался транзакциями. Поищи в хелпе нечто похожее на ApplyUpdates, там есть пример транзакции. У Query выставляешь свойства CashedUpdates := True; RequestLive := True;
Убираешь свой упдейт нафиг. После этого в обработчике события
BeforePost проставляешь требуемые значения полей, а в AfterPost у Query вписываешь процедуру транзакции (из хелпа). И делаешь с запросом что хочешь.
Да но запомни, что RequestLive := True; ты сможешь использовать только если в твоем запросе присутствует только одна таблица и нет в запросе order by и group by.
← →
Johnmen (2002-10-30 09:50) [11]>Victor_Cr © (30.10.02 09:39)
В 19 лет высшее образование ? КРУТО !
А впрочем это видно по твоему постингу...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.11.18;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c