![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Правила добавления записей в БД [D6, IB6.x, FireBird]
galexis © (2003-04-14 15:43:00)Уважаемые мастера! Помогите с таким вопросом: заношу в БД записи из файла XML. В таблице есть поле по которому построен PRIMARY KEY. Т.е. если запись с таким уникальным ключом уже есть, то при добавлении получаем ошибку. Как правильно написать запрос, что если записи нет то добавить, если есть, то изменить.
Жук (2003-04-14 16:19:00) [1]Я бы триггер написал, скорее всего.
Жук (2003-04-14 16:17:00) [2]1) ХП
2) В программе
Надо посмотреть, что быстрее будет работать...
Соловьев (2003-04-14 16:15:00) [3]ХП:
где проверяем что если есть - то апдейтим
есле нет - добавляем.
galexis (2003-04-14 16:10:00) [4]Так я и написал, и тоже думаю что это изврат.
А как правильно-то надо?
Жук (2003-04-14 16:01:00) [5]Можно проверить и инсертом :
MyQuery.SQL.Add("insert ...");
try
MyQuery.ExecSQL;
exception
if E.Exception=...
then делаем update
end;
ИМХО - це изврат.
galexis (2003-04-14 15:53:00) [6]А как быть? Ну пусть не одним. Раньше, для локальных БД, я сначала проверял наличие данной записи в БД, а потом в зависимости от результата добавлял или изменял. Здесь, что также надо?
Жук (2003-04-14 15:48:00) [7]Одним запросом не получится.