Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
7-8183
Shil
2002-07-24 16:42
2002.10.03
Вопрос пр TFileStream


1-7953
AFrolov
2002-09-20 17:39
2002.10.03
Как узнать выделена строка в StringGrid или нет?


14-8163
Демонов Е.В.
2002-09-09 17:50
2002.10.03
Delphi 7 - Вымысел или правда ?


1-8059
123000
2002-09-21 16:34
2002.10.03
Как включить и выключить монитор?


3-7830
vitnt2000
2002-09-10 07:00
2002.10.03
Как свободно просматривать таблицу при добавлении данных?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский