Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.26;
Скачать: CL | DM;

Вниз

Как отловить Exception   Найти похожие ветки 

 
Koala ©   (2004-08-25 10:52) [0]

Есть ХП для вставки новой запись, она проверяет на наличие дубликата записи, если нет, то запись вставляется, если да то высвечивается предупреждение о вставке дублирующейся записи.
Как отловить в программе это сообщение???

CREATE PROCEDURE PR_INSERT_CITY (
   IN_CITY_NAME VARCHAR(30),
   IN_USER_EDIT VARCHAR(20))
AS
begin
 /* Procedure Text */
 if (not exists(select 1 from tbl_ref_city
                where CITY_NAME = :IN_CITY_NAME)) then
 INSERT INTO TBL_REF_CITY(CITY_NAME, DATE_EDIT, USER_EDIT)
 VALUES (:IN_CITY_NAME, "NOW", :IN_USER_EDIT);
 else
  EXCEPTION EXC_NO_DBL_INS_CITY;
 suspend;
end


 
Zacho ©   (2004-08-25 11:45) [1]

Так же, как и любой другой txception. RTFM  try .. except .. и т.п.
А вообще в данном случае процедура абсолютно не нужна, достаточно уникального индекса.


 
Koala ©   (2004-08-25 13:48) [2]


> Zacho ©   (25.08.04 11:45) [1]



> А вообще в данном случае процедура абсолютно не нужна, достаточно
> уникального индекса.

Не понял... а можно по подробнее....


 
LM2   (2004-08-25 13:55) [3]

Да проще возвращать значения, например -1, если такая запись существует!


 
Skyle ©   (2004-08-25 14:08) [4]


> [2] Koala ©   (25.08.04 13:48)

Создать в таблице уникальный индекс, содержащий набор полей, по которым определяется уникальность (в данном случае CITY_NAME).
После этого проверка уникальности записи с таким значением индекса возлагается на СУБД, которая будет генерировать исключение.
И самопальная проверка станет ненужной.


 
LM2   (2004-08-25 14:46) [5]

>>Skyle ©
Ага, только с регистром надо быть повнимательнее, а то получаться два города Москва и МОСКВА !!!))))))))


 
Skyle ©   (2004-08-25 14:48) [6]


>  [5] LM2   (25.08.04 14:46)

Как настроишь...


 
Koala ©   (2004-08-25 15:10) [7]

Спасибо всем... так и сделал...



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

Текущий архив: 2004.09.26;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.041 c
14-1094374411
McSimm
2004-09-05 12:53
2004.09.26
Прошу понять меня правильно. Очень прошу.


1-1094634061
SLK
2004-09-08 13:01
2004.09.26
объединение текстовых файлов


4-1092900410
Lizka
2004-08-19 11:26
2004.09.26
Как узнать версию офис из программы?


14-1094361325
Думкин
2004-09-05 09:15
2004.09.26
С днем рождения! 5 сентября


1-1094548478
Fktrc
2004-09-07 13:14
2004.09.26
ListView (vsReport, CheckBoxes=True)