Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Генерация ID записи [D6, IB6.x]


Vemer ©   (2004-03-04 17:24:00) 

Здравствуйте.
Имееться таблица (лог), который дополняеться только через ХП. Я решил обойтись без триггера и написал примерно так:
Insert Into Log (Log_ID, ...)
Values (Gen_Id(Log_Gen,1),...)

Вопрос в нормальности данного решения и возможных "подводных" камнях..


kaif   (2004-03-05 04:58:00) [1]

Выходной параметр можно получить и без SUSPEND; В любом случае не мешает его иметь.
Решение совершенно нормальное. Никаких подводных камней нет.


VID   (2004-03-04 21:15:00) [2]

нет подводных камней - это хороший метод, а ещё к этой хп процедуре добавь выходной параметр, который будет возвращать сгенерированый ID
т.е.

begin
 out_id = gen_id(log_gen, 1);
 Insert Into Log (Log_ID, ...)
 Values (:out_id,...);
 suspend;
end;

разумеется out_id - это и есть выходной параметр.
Такое дополнение добавит твоей ХП больше гибкости и в дальнейшем может пригодиться (ты уж сам смотри...)


Anatoly Podgoretsky   (2004-03-04 17:26:00) [3]

Нормально, каждая запись будет иметь уникальный номер.


Наверх

Титульная страница Поиск, карта сайта Написать письмо