Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
1-59217
denis-a
2002-11-06 16:21
2002.11.18
Документация по компоненту Async Professional ver. 4 for Delphi


1-59232
sterran
2002-11-06 18:23
2002.11.18
Проблема преобразование символов...


14-59375
vajo
2002-10-30 08:49
2002.11.18
Закон о защите прав потребителей.


1-59148
GIL
2002-11-08 05:26
2002.11.18
TreeView и база данных


3-59056
Ghost-Kasper
2002-10-30 12:26
2002.11.18
Как можно даставать данные из ACCES.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский