Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.05.01;
Скачать: [xml.tar.bz2];

Вниз

Правила добавления записей в БД   Найти похожие ветки 

 
galexis   (2003-04-14 15:43) [0]

Уважаемые мастера! Помогите с таким вопросом: заношу в БД записи из файла XML. В таблице есть поле по которому построен PRIMARY KEY. Т.е. если запись с таким уникальным ключом уже есть, то при добавлении получаем ошибку. Как правильно написать запрос, что если записи нет то добавить, если есть, то изменить.


 
Жук   (2003-04-14 15:48) [1]

Одним запросом не получится.


 
galexis   (2003-04-14 15:53) [2]

А как быть? Ну пусть не одним. Раньше, для локальных БД, я сначала проверял наличие данной записи в БД, а потом в зависимости от результата добавлял или изменял. Здесь, что также надо?


 
Жук   (2003-04-14 16:01) [3]

Можно проверить и инсертом :
MyQuery.SQL.Add("insert ...");
try
MyQuery.ExecSQL;
exception
if E.Exception=...
then делаем update
end;

ИМХО - це изврат.


 
galexis   (2003-04-14 16:10) [4]

Так я и написал, и тоже думаю что это изврат.
А как правильно-то надо?


 
Соловьев   (2003-04-14 16:15) [5]

ХП:
где проверяем что если есть - то апдейтим
есле нет - добавляем.


 
Жук   (2003-04-14 16:17) [6]

1) ХП
2) В программе
Надо посмотреть, что быстрее будет работать...


 
Жук   (2003-04-14 16:19) [7]

Я бы триггер написал, скорее всего.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.05.01;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.008 c
1-635
LEON
2003-04-11 17:27
2003.05.01
Как вставить картинку (BMP) в TRichEdit? чтобы пользователь мог у


3-405
Begginer
2003-04-11 01:40
2003.05.01
Как проверить при добавлении уникальность поля


7-796
olimpic
2003-03-12 13:12
2003.05.01
Компонент для сбора информации о компьютере


14-695
DeMoN-777
2003-04-16 02:07
2003.05.01
Пользователи обижаются =(


1-638
Alex-21
2003-04-18 21:15
2003.05.01
Панель задач





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский