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

Вниз

Ексепшны или стандартные сообщения об ошибках   Найти похожие ветки 

 
Некто   (2005-01-12 14:23) [0]


create table sotr
(
 kod_sotr smallint not null primary key,
 fio varchar(50) not null
);

set term ^ ;
create trigger sotr_bi0 for sotr
active before insert position 0
as
begin
 if (exists(select kod_sotr from sotr where (kod_sotr=new.kod_sotr)))
   then exception dbl_msg_sotr;
 if (new.fio is null)
   then exception null_msg_sotr;
end^


нормально ли в триггере обрабатывать ошибки или лучше воспользоваться стандартными сообщениями об ошибке чтобы потом отлавливать их в Delphi?


 
P.N.P. ©   (2005-01-12 14:44) [1]

Правильное решение - обрабатывать в своем приложении.
Можно конечно и в триггере, но тогда производительность
упадет - сначала сервер будет проверять
первичный ключ, а затем еще и триггер.
Оно надо?
И в догонку - неужели юзерам позволено редактировать
поле kod_sotr?


 
Некто   (2005-01-12 15:23) [2]

позволено, kod_sotr=табельный_номер (по сути)....пускай меняют если ошиблись при вводе


 
P.N.P. ©   (2005-01-12 15:27) [3]

primary key лучше сделать отдельно, а по полю
kod_sotr создать уникальный индекс


 
Sergey13 ©   (2005-01-12 15:28) [4]

2[2] Некто   (12.01.05 15:23)
>пускай меняют если ошиблись при вводе
А если не при вводе, или после ввода другой инфы по человеку? Зря ты это, ИМХО. Никто не запрещает менять ТН в течении жизни.


 
Некто   (2005-01-12 23:14) [5]

ну ладно, бог с этим ТН...
Ну наверняка есть возможность отловить стандартное сообщение об ошибке и заменить его своим?
например с помощью:
when sqlcode <код ошибки> do
begin
...
end


?


 
P.N.P. ©   (2005-01-13 00:46) [6]

Посмотри здесь:
http://sql.ru/forum/actualthread.aspx?tid=150566



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

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

Наверх




Память: 0.48 MB
Время: 0.027 c
1-1106922478
BFG9k
2005-01-28 17:27
2005.02.13
DateTime из строки вида 12:01:29 30/01/05


1-1107172379
ИванИванычч
2005-01-31 14:52
2005.02.13
CRC


3-1105462296
Влад
2005-01-11 19:51
2005.02.13
Настройка FB сервера


14-1105885334
Piter
2005-01-16 17:22
2005.02.13
Если кто знает мою аську


1-1106737496
Vn
2005-01-26 14:04
2005.02.13
Мигание иконки на панели задач