Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

INSERT/UPDATE в одном флаконе


Piter ©   (2004-02-12 17:29:00) 

Нельзя ли как-нибудь объединить комманды INSERT и UPDATE? Дело в том, что есть уникальное поле Number в таблице. А кроме него ну допустим есть еще поля Rabota и Zarplata. Так вот я передаю запись, состоящую из полей Number, Rabota, Zarplata. Если запись с Number уже существует, то он должен переписать значение Rabota и Zarplata. Если нет - то добавить новую запись.
Сейчас приходится делать SELECT, чтобы узнать есть ли запись с таким Number уже. Если есть - делать UPDATE, нету - INSERT.

Я вот думаю о логике базы. Она выполняет SELECT, просматривая таблицу. На это уходит время, особенно если таблица большая. Потом если я делаю UPDATE ей опять приходится искать запись, которую надо обновить (а это ведь таже самая запись!). То есть, два раза ищется одно и тоже! А зачем? Вот нельзя ли как-то это совместить. Нашла такую запись - сразу обновила. Не нашла - добавила?


Johnmen   (2004-02-12 17:40:00) [1]

Делай инсерт. Если ошибка, то апдейт...


Sandman25   (2004-02-12 17:31:00) [2]

Используйте хранимую процедуру, если Ваша СУБД их поддерживает.


Наверх

Титульная страница Поиск, карта сайта Написать письмо