|
su.dbms.sql- SU.DBMS.SQL ------------------------------------------------------------------ From : Alex Mikhajlichenko 2:5020/400 19 Mar 2001 19:14:37 To : All Subject : Re: Как тут применить EXISTS или что-то в этом роде? --------------------------------------------------------------------------------
Hi, Sergey!
19-Mar-01 14:38 Sergey Stadnik (burner@menatep.sochi.ru) wrote :
> Есть такая задачка:
> Hужно проконтролировать табличку на наличие записи (какой-то критерий). Если
> запись есть, то нужно её модифицировать, а если нет, то добавить новую.
> Я ничего лучше не придумал, чем сделать так:
> 1. Извлекается count(*) записей, удовлетворяющих условию.
> 2. Если результат >0, то п.3, иначе п.5.
> 3. извлекается ID записи, удовлетворяющей условию.
> 4. Производится модификация записи, удовлетворяющей условию. Конец.
> 5. Вставляется новая запись. Конец.
Можно гораздо проще: сразу пытаться вставлять, и отлавливать EXCEPTION,
и если случилось нарушение ключа (а я искренне надеюсь, что вышеупомянутое
"условие" определяет запись однозначно), то говорить UPDATE.
BEGIN
INSERT ...
EXCEPTION
тут хорошо бы анализ кода exception, специально для придир ;)
UPDATE ...
END
--
* Alexey Mikhajlichenko
Вначале было Слово , и Слово было два Байта. alex@rtax.sumy.ua
--- ifmail v.2.15dev5
* Origin: Regional Tax Administration (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /su.dbms.sql/6513473a418a.html, оценка из 5, голосов 22
|