![]() |
|
![]() ![]() ![]() |
|
Lunatikus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 503 Регистрация: 29.6.2007 Репутация: 1 Всего: 6 |
а как долго будет выполняться запрос лукапа в каждом шаге цикла на миллион шагов ?)
-------------------- TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games). сайт гильдии |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
это у тебя на клиенте молотится? так пусть на сервере Добавлено через 3 минуты и 8 секунд просто у меня тоже стоит задача, если ты видел мой пост здесь, в БД, я начал молотить циклы на клиенте, ОООчень долго, но мне помогли это перевести на сервер (FB), процедура отрабатывает за 4-5 секунд |
|||
|
||||
Lunatikus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 503 Регистрация: 29.6.2007 Репутация: 1 Всего: 6 |
у меня сервер MS SQL 2000.Как можно сделать процедуру,выполняемую сервером по вычислению полей?Без запроса ведь никак.Вот и думаю теперь как сделать запросом расчеты...а так все запросы у меня сервер выполняет,конечно
-------------------- TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games). сайт гильдии |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
||||
|
||||
Lunatikus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 503 Регистрация: 29.6.2007 Репутация: 1 Всего: 6 |
конечно позволяет.Мы не так друг друга поняли =) я говорю о цикле перебора записей while...do... разве такое можно сохранить в "хранимках"?
-------------------- TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games). сайт гильдии |
|||
|
||||
ALeXandrK |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 342 Регистрация: 31.1.2007 Где: Санкт-Петербург Репутация: 2 Всего: 6 |
А может я очень сильно отрицаю, тогда можно и НИ ![]() -------------------- Богат не/ни тот, у кого много, а тот, кому хватает |
||||
|
|||||
SergeBS |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1111 Регистрация: 10.6.2005 Где: Владимир Репутация: 11 Всего: 22 |
Lunatikus,
Объясни все-таки понятнее, что вычисляешь. Именно для A1, например. Берешь на 02.01.2007 ostatok, из него вычитаешь на 01.01.2007 ostatok и т.д. до конца? Я ничего из этого не понял:
Что из чего вычитается и т.п.? |
|||
|
||||
Lunatikus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 503 Регистрация: 29.6.2007 Репутация: 1 Всего: 6 |
вычитаю из первого ostatka (т.е. на 01.01.2007) значения полей zakaz,prognoz.Полученное значение записываю под датой 02.01.2007 запросом в таблицу.Смещаюсь на 02.01.2007 и уже из нового остатка(он сохранен в переменной) вычитаю prognoz,zakaz текущей строки.И так до самого конца.Когда наталкиваюсь на смену артикула,сбрасываю значение переменной и заменяю стоящим в текущей строке.,хранящей убывающий остаток.Понятно объясняю?
Это сообщение отредактировал(а) Lunatikus - 11.9.2007, 16:05 -------------------- TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games). сайт гильдии |
|||
|
||||
SergeBS |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1111 Регистрация: 10.6.2005 Где: Владимир Репутация: 11 Всего: 22 |
ALeXandrK,
Нельзя. НИ - только при перечислении. Lunatikus, Тогда BOL тебе в руки - CURSOR. Они как раз для таких построчных обработок сделаны. Или делай хранимку, которая будет высылать результат вычитания. БУдешь тогда смотреть только на дату и артикул - трафик сети резко упадет. И еще: если взять первый ostatok, из него вычесть суммы prognoz + zakaz для выбранного артикула, то по твоему описанию - получается сразу конечный результат. Или в описании что-то упущено. Например необходимость заполнения всех полей ostatok. |
|||
|
||||
Lunatikus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 503 Регистрация: 29.6.2007 Репутация: 1 Всего: 6 |
да,необходимость эта есть,не только изза того,что надо вносить новые значения остатков в каждой строке,но и потому,что вычисления надо делать до тех пор,пока остаток не станет нулем или отрицательным.НАсчет хранимок-наверное,стоит разобраться,что же это такое и как работает,буду искать...
-------------------- TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games). сайт гильдии |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
||||
|
||||
ALeXandrK |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 342 Регистрация: 31.1.2007 Где: Санкт-Петербург Репутация: 2 Всего: 6 |
![]() вот правила применения НЕ и НИ. Есть там пунктик "ни для усиления отрицания" - и написано там, что обычно оно применяется, когда уже есть отрицание, а обычно не значит обязательно... Я не говорю, что ты не прав, но вот НИ мне больше по-душе в этом случае ![]() ... ну это отвлечения... Lunatikus: Так может тебе создать запрос (в том же SQL, кот. будет тебе считать и обновлять), а уже в цикле вызывать этот запрос с помощью TADOStoredProc. Всяко будет быстрее, чем использовать Next, пробегая по всем полям. -------------------- Богат не/ни тот, у кого много, а тот, кому хватает |
||||
|
|||||
kobra |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 730 Регистрация: 15.6.2005 Где: Грузия, Тбилиси Репутация: 1 Всего: 9 |
SergeBS правильно скозал, тут хорошо сработает курсор в курсоре. можно конечно и табличними переменними ползоватся. нужно протестить что оптимальнее будет |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |