Вниз
Скачать: CL | DM;

AutoIncrement   Найти похожие ветки 

← →
Астроном   (2004-08-28 10:21) [0]

Как создать триггер/процедуру/генератор для правильного авто-инкремента для поля типа Integer?


← →
Сергей Бастрыгин ©   (2004-08-28 12:39) [1]

CREATE TRIGGER CALLS_BI FOR CALLS
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
 IF (NEW.CDCALL IS NULL) THEN
   NEW.CDCALL = GEN_ID(GEN_CALLS,1);
 ELSE
   IF(NEW.CDCALL > GEN_ID(GEN_CALLS,0)) THEN
     NEW.CDCALL =GEN_ID(GEN_CALLS,NEW.CDCALL -GEN_ID(GEN_CALLS,0));
     
END


← →
Vemer ©   (2004-08-28 17:37) [2]

Варианты:
1) Триггер
2) Свойство GenetatorField IBQuery / IBDataset.
3) Select GEN_ID(My_Gen,1) при вставке из ХП.

Применение 2-х последних делают позволяет мне отказаться от первого. Но конечно зависит от задачи.


← →
Koala ©   (2004-08-28 19:17) [3]

Воспользуйся IBExpert, там при создании таблицы тригер и генератор можно создать автоматически на автоинкрементное поле с указанием номера с какого нужно начать


← →
Астроном   (2004-08-29 04:27) [4]

Пользуюсь IBExpert, создаю генератор:
CREATE GENERATOR GEN_AGENTS_CODE;
SET GENERATOR GEN_AGENTS_CODE TO 1;


затем создаю триггер:
CREATE TRIGGER AGENTS_BI FOR AGENTS
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
IF (NEW.CODE IS NULL) THEN
NEW.CODE = GEN_ID(GEN_AGENTS_CODE,1);
END


Создаю приложение на Делфях, создаю запись Query.Insert,
но полю CODE присваивается "0" :(

Что не так делаю?

З.Ы. Кстати, где можно достать FIBPlus для D7?


← →
Сергей Бастрыгин ©   (2004-08-29 11:26) [5]

Триггер у тебя пропустил без внимания, он сработает только если не указывать никакого значения при вставке при проверке на NULL, у тебя где-то кто-то ставит 0, посмотри внимательно


← →
Zacho ©   (2004-08-29 14:26) [6]

Прочитай http://www.ibase.ru/devinfo/generator.htm - там все очень подробно написано.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: -0.979 c
14-1094308321
gn
2004-09-04 18:32
2004.09.26
Обзор вирусной активности (август 2004)


10-1042011765
McSimm
2003-01-08 10:42
2004.09.26
От человека, не имеющего возможности пользоваться интернетом


1-1094665692
CBOLOCH
2004-09-08 21:48
2004.09.26
виснет Delphi 7


1-1094750155
Ajax
2004-09-09 21:15
2004.09.26
Изменение значения локальных переменных извне


4-1092151693
Ego
2004-08-10 19:28
2004.09.26
можно ли сделать "ловушку" без использования библиотеки?




   Наверх