![]() |
|
Модераторы: Akella |
![]()
|
|
| ksili |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: нет Всего: 17 |
Можно ли как-то одним запросом увеличить значения поля записи на конкретное значение. Не читать селектом текущее значение и не записывать затем новое. А сразу сказать "увеличь на столько-то".
-------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 20 Всего: 329 |
нормально задай вопрос
|
|||
|
||||
| ksili |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: нет Всего: 17 |
В таблице есть поле SUMMA. У определённой записи надо увеличить его допустим на 100.
Насколько я понимаю надо сначала сделать SELECT:
затем
Затем UPDATE:
где xxx - это sum, преобразованная в строку То есть получается два запроса: SELECT и UPDATE. Но так как мне не нужно проверять текущее значение суммы, хотелось бы (для увеличения производительности и упрощения программы) просто одним запросом (без SELECT'а) как-то увеличить значение поля SUMMA -------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
||||||
|
|||||||
| Akella |
|
||||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 20 Всего: 329 |
да, запхни это всё в хранимку Добавлено через 6 минут примерно так: один вариант
второй
смотря какие условия задачи |
||||
|
|||||
| qw84 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 3.4.2007 Где: Воронеж Репутация: нет Всего: нет |
Да сделай это в виде триггера после вставки данных - и все можно забыть - автоматически после вставки всегда у вас будет нужная сумма. Если нужно отключить триггер - то это делается установкой параметра active для триггера
|
|||
|
||||
| ksili |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: нет Всего: 17 |
После какой вставки? я ничего не вставляю, запись уже есть, надо увеличить значение одного из её полей на конкретное число. Сделаю в виде хранимой процедуры. По-моему, оптимальный вариант -------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
| Deniz |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 22 Всего: 44 |
А что слабо сразу послать запрос
-------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
| ksili |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: нет Всего: 17 |
А что, так можно? Классно. Надо попробовать
-------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
| Deniz |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 22 Всего: 44 |
Блин, как дети малые.
Раньше мой начальник говорил: "Знаешь какая разница между сексом и кексом?" и потом добавлял: "Попробуй - узнаешь" И тяжело было на пустой базе сразу попробовать? -------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 20 Всего: 329 |
||||
|
||||
| Deniz |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 22 Всего: 44 |
Я спокоен, это шутка такая была, просто смайлик не поставил Просто прикольно смотреть когда говорят: "А что так можно?", т.е. попробовать не разрешают старшие или религия не позволяет или еще чего ;-) Это опять шутка -------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
![]()
|
| Правила форума "Interbase" | |
|
|
Обязательно указание: 1. Версию InterBase (Firebird, Yaffil) 2. Способа доступа (ADO, BDE, IBX и т.д.)
Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Firebird, Interbase | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |