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

Поля с автоинкрементом в InterBase   Найти похожие ветки 

← →
DmitryMN   (2002-09-13 13:21) [0]

Подскажите - как задать поле с автоинкрементом в InterBase?
ГЕсть ли такой тип поля или нужно создавать триггер с генератором?


← →
Alexandr ©   (2002-09-13 13:25) [1]

взял бы ты с www.ibexpert.com программку
и заюзал ее, если уж с документацией справиться не можешь...


← →
-= Demon =-   (2002-09-13 13:33) [2]

Нет, такого поля нет. Но вводится поле типа integer (пусть его имя "id") и создается генератор:
create generator GenID;
И пишется следующий триггер:
create triger TBI_AutoInc for TableName;
before insert;
begin
new.id = GenID;
end;


← →
Alexandr ©   (2002-09-13 13:50) [3]

2-= Demon =- : идея правильная, реализация нерабочая


← →
Johnmen ©   (2002-09-13 13:51) [4]

>-= Demon =- (13.09.02 13:33)

Весьма любопытный синтаксис работы с генератором...:)
Я такого еще не встречал !


← →
DmitryMN   (2002-09-13 14:04) [5]

2 Alexandr:
С документацией все в порядке.
Хотел узнать мнения мастеров.
Но пока ничего путного не услышал.
Видать были мастера - да вышли все:)



← →
Alexandr ©   (2002-09-13 14:10) [6]

вообщемжно создавать триггер с генератором.
Но при работе с базой с помощью продвинутых инструментов вроде IBExpert эта операция максимано упрощена до двух нажатий мышкой.


← →
Val ©   (2002-09-13 14:14) [7]

>DmitryMN (13.09.02 14:04)
на этот вопрос не нужно мнений, тут нужно знание.


← →
3JIA9I CyKA ©   (2002-09-13 14:14) [8]

2DmitryMNУважаемый DmitryMN!
Если с документацией у Вас всё в порядке, и Вы задаёте ТАКИЕ вопросы в форуме, значит Вам надо к другим мастерам. А здесь мало кто давал клятву Гипократа.

2-= Demon =-
1) create generator BLABLABLA
2)
create triger BUBUBU for TableName;
before insert;
begin
new.id = GEN_ID(BLABLABLA, 1);
end;

Так, вроде...


← →
Johnmen ©   (2002-09-13 14:14) [9]

>DmitryMN (13.09.02 14:04)
>Хотел узнать мнения мастеров.
>Но пока ничего путного не услышал.

Просто не хотел слышать...:(
Или совет -= Demon =- (13.09.02 13:33) ты считаешь беспутным ?



← →
DmitryMN   (2002-09-13 14:31) [10]

2 3JIA9I CyKA: Меня интересуют альтернативные варианты создания полей с автоинкрементом. Вариант создания триггера и генератора я знаю. ("Гипократ" пишиется с двумя "п")
2 Johnmen ©: совет -= Demon =- хорошой но на этот счет я уже написал выше.
2 Alexandr : спасибо - посмотрю IBExpert



← →
Johnmen ©   (2002-09-13 14:49) [11]

>DmitryMN (13.09.02 14:31)

Не существует никаких "альтернативные варианты создания полей с автоинкрементом" кроме, как было сказано выше, через триггер с генератором !
IBExpert лишь поможет автоматизировать этот процесс...



← →
3JIA9I CyKA ©   (2002-09-13 15:10) [12]

>>ГЕсть ли такой тип поля или нужно создавать триггер с генератором?
1) Нет такого типа.
2) ГЕсть пишется без "Г".
3) Ещё вопросы?



← →
Prooksius ©   (2002-09-13 15:10) [13]

2 Johnmen © (13.09.02 14:49)
Неправда ваша...
ХП и генератор. :))))

2 DmitryMN (13.09.02 14:31)
Учи матчасть.


← →
Wolf226   (2002-09-13 15:21) [14]

Держи альтернативный метод

var Q,DS:TQuery;
// DS - это наш ДатаСет в котором поле ID - autoinc
// Q - это для вытягиватия генератора

...

procedure TForm1.DSBeforeInsert(DataSet:TDataSet)
begin
with Q do
begin
close;
Sql.Text:="select gen_id( generatorname,1) from rdb$database";
open;
DataSet.fieldvalues["id"]:=fields[0].value;
end;
end;


← →
Johnmen ©   (2002-09-13 15:38) [15]

>Prooksius © (13.09.02 15:10)
>2 Johnmen © (13.09.02 14:49)
>Неправда ваша...
>ХП и генератор. :))))

Правда моя ! Автор спрашивал про автоинкремент !
А у тебя не авто...

Тоже самое относится и к Wolf226 (13.09.02 15:21).




← →
Wolf226   (2002-09-13 15:56) [16]

Ну скажем так, я обошелся без тригерра. Но без генератора обойтись нельзя. Ну нету autoinc в Interbase.


← →
DmitryMN   (2002-09-13 16:13) [17]

Все спасибо:)
Буду пользоваться генератором и триггером:)



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

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



Память: 0.48 MB
Время: 0.011 c
7-8201
ga3
2002-07-28 02:31
2002.10.03
работа со сканером штрих-кода


1-8005
GROL
2002-09-20 23:32
2002.10.03
А-ля Object Inspector


1-7981
BlackTiger
2002-09-20 12:25
2002.10.03
Как предотвратить открытие MDIChild-формы второй раз


7-8199
VPV
2002-07-27 17:21
2002.10.03
Метод Synchronize - проблемы?


7-8208
иван
2002-07-23 14:32
2002.10.03
Кодировка файлов




   Наверх