![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не работает триггер Befor Insert в IB6+Infopower3000 [D5, IB6.x]
Mick © (2002-10-11 13:41:00)Подскажите, что не так:
IB6 база. Триггер BeforInsert используется для получения первичного ключа: New.Code=Gen_ID(G_1, 1). Почему он не срабатывает при вводе записи пользователем?
Mick (2002-10-11 14:18:00) [1]Дошло, спасибо.
Johnmen (2002-10-11 14:16:00) [2]Имеется в виду
SELECT Gen_ID(G_1, 1) AS id FROM rdb$database
Mick (2002-10-11 14:12:00) [3]To Jojnmen: имеется в-виду Select max(Code)... - так вроде бы не сильно надежно.
Mick (2002-10-11 14:08:00) [4]Народ, ну подскажи новичку (Up)
Johnmen (2002-10-11 14:08:00) [5]>Mick (11.10.02 13:56)
Можно так, а можно запросом...
Mick (2002-10-11 13:56:00) [6]Тогда у меня немного изменится вопрос: подскажите, как правильно выполнить генерацию первичного ключа таблицы. Неужели необходимо писать хранимую процедуру, которая будет возвращать код в клиентскую часть (дублировать тот-же триггер) и вставлять в запись этот код?
Alexandr (2002-10-11 13:53:00) [7]вот именно.
Триггер-то на сервере выполняется и клиентские собития ему неведомы, впрочем как и наоборот.
Mick (2002-10-11 13:49:00) [8]To Max: Так это все тело триггера и есть.
to Alexandr: пользователь на DbNavigator нажимает вставить, если стать отладчиком на событие BeforInsert таблицы, поле DataSet.FieldByName("Code") -0, равно как и в AfterInsert.
to moderator: ну почему нельзя сделать как в Кубани нумерацию?
Max Zyuzin (2002-10-11 13:44:00) [9]Приведи полный текст триггера. В общем как его создавал.
Alexandr (2002-10-11 13:42:00) [10]срабатывает. Вот только значение ключа тебе недоступно.