Форум: "Базы";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];
ВнизКак отловить 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.036 c