Форум: "Базы";
Текущий архив: 2002.10.03;
Скачать: [xml.tar.bz2];
ВнизПоля с автоинкрементом в 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 вся ветка
Форум: "Базы";
Текущий архив: 2002.10.03;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c