![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Триггеры [D6, IB6.x]
Ven © (2004-06-11 09:06:00)Народ, подскажите ответ на такой вопрос...
Я создал генератор, и добавляю триггером номер строки в ключевое поле id
\\Триггер
if (new.id is null) then
new.id=gen_id(gn_id,1);
Как написать триггер уменьшения на 1 ?
Somebody (2004-06-22 09:04:00) [1]
> Digitman © (22.06.04 09:03) [7]
Я просто усомнился, толи я - дурак, толи мастера прикалываются.
Digitman (2004-06-22 09:03:00) [2]
> Somebody (22.06.04 08:40) [6]
легких путей мы не ищем)
нам тоже самое через причинное место подавай)
Somebody (2004-06-22 08:40:00) [3]Народ, а
> new.id=gen_id(gn_id,-1);
разве не сработает?
Digitman (2004-06-22 08:33:00) [4]
> объявить в триггере ..integer.. переменную
> и присвоить ей максимальное значение типа integer затем
> делать
редкостная глупость
любая локальная переменная (а в IB-серверном скрипте-движке иных и не нет) имеет время жизни, равное времени исполнения подпрограммы
Johnmen (2004-06-21 21:17:00) [5]>Ярослав (21.06.04 20:42) [3]
Почему максимальное integer ?
И зачем это вообще делать ?
Ярослав (2004-06-21 20:42:00) [6]Впринципе можно попробовать объявить в триггере (declare variable vint integer) переменную и присвоить ей максимальное значение типа integer затем делать new.id= vint - gen_id(gn_id,1);
Sergey13 (2004-06-11 09:15:00) [7]2Ven © (11.06.04 09:06)
Это будет тригер для обратного отсчета при запуске чего-то (страшно подумать чего)? 8-)
Johnmen (2004-06-11 09:08:00) [8]:))))))))))))))))
+-1