|
su.dbms.sql- SU.DBMS.SQL ------------------------------------------------------------------ From : Sergey Stadnik 2:5020/400 19 Mar 2001 18:38:02 To : All Subject : Как тут применить EXISTS или что-то в этом роде? -------------------------------------------------------------------------------- Есть такая задачка: Hужно проконтролировать табличку на наличие записи (какой-то критерий). Если запись есть, то нужно её модифицировать, а если нет, то добавить новую. Я ничего лучше не придумал, чем сделать так: 1. Извлекается count(*) записей, удовлетворяющих условию. 2. Если результат >0, то п.3, иначе п.5. 3. извлекается ID записи, удовлетворяющей условию. 4. Производится модификация записи, удовлетворяющей условию. Конец. 5. Вставляется новая запись. Конец. Чувсивую, что коряво, но лучше не получилось. Подскажите как можно красивей сделать, может EXISTS какой или ещё чего. Я пробовал - не получилось. Дело происходит на Oracle 7. Hиже кусок вышеописанного текста: /* Проверим, есть ли такая запись в базе */ SELECT count(*) INTO nSys_ind FROM opt_cyord WHERE order_number = iOrder_num AND op_number = iOp_number AND TRUNC(day) = dDate; IF nSys_ind <>0 THEN /* Такая запись есть */ SELECT sys INTO nSys_ind FROM opt_cyord WHERE order_number = iOrder_num AND op_number = iOp_number AND day = dDate; --- ifmail v.2.15dev5 * Origin: Rostelecom/Internet Centre (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /su.dbms.sql/349549159778.html, оценка из 5, голосов 22
|