Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Значение ID после добавления / 12 сообщений из 12, страница 1 из 1
20.08.2003, 09:36
    #32241153
Mity
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Значение ID после добавления
Подскажите как получить значение ID-генерируемое генератором после добавления записи? Использую объект отображения данных TreeView.
...
Рейтинг: 0 / 0
20.08.2003, 09:39
    #32241162
Denis Uskov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Значение ID после добавления
Никак. ID забирай на клиента, а потом ...
В триггере ОБЯЗАТЕЛЬНО

IF (NEW.ID IS NULL) THEN
NEW.ID = GEN_ID(GEN_NAME, 1);
...
Рейтинг: 0 / 0
20.08.2003, 09:51
    #32241182
Voha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Значение ID после добавления
Есть возможность использования поля-генератора, тогда можешь контролировать его значение с клиета в момент добавление
...
Рейтинг: 0 / 0
20.08.2003, 11:30
    #32241475
Mity
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Значение ID после добавления
Как узнать значение поле-генератора?
...
Рейтинг: 0 / 0
20.08.2003, 11:39
    #32241497
Johnmen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Значение ID после добавления
А что такое "поле-генератор" ?
Есть поле, есть генератор, вещи разные. Но иногда :) значение генератора записывают в поле...
...
Рейтинг: 0 / 0
20.08.2003, 11:42
    #32241507
Maks_f
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Значение ID после добавления
Не изобретайте велосипед. Добавление новых значений в таких случаях логично делать через суспенд процедуру, которя после вставки возвращает все поля вставленной сущности, и использовать из всех других процедур или прикладных прог только эту для добавления записи. И ни каких выделений ID в триггерах - это подсознание базы, а нам нужно с данными сознательно работать.
...
Рейтинг: 0 / 0
20.08.2003, 12:50
    #32241658
Vagoo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Значение ID после добавления
Сделай наоборот -
сгенерируй ID, а потом насильно его запиши в таблицу.
...
Рейтинг: 0 / 0
20.08.2003, 14:14
    #32241844
Mity
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Значение ID после добавления
Таблица имеет структуру дерева и поэтому в триггере формируется ID. Мне и нужно узнать значение ID новой записи.
...
Рейтинг: 0 / 0
20.08.2003, 14:17
    #32241851
Vagoo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Значение ID после добавления
Может быть тебе нужно последнее (текущее) значение генератора?
...
Рейтинг: 0 / 0
20.08.2003, 16:06
    #32242092
Voha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Значение ID после добавления
Поле генератор - я имел ввиду указать для IBQuery.GeneratorField и работать с ним, тогда ты сможешь сразу получить значение твоего поля после добавления.
...
Рейтинг: 0 / 0
20.08.2003, 16:19
    #32242114
Johnmen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Значение ID после добавления
>Voha

Нет. В этом случае значение генератора сначала получается, а потом вставляется. "Неявно", естественно...
...
Рейтинг: 0 / 0
21.08.2003, 03:24
    #32242496
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Значение ID после добавления
никто не пытался создать процедуру, которая будет при помощи генератора выдавать значения? Написать триггер, как советует Denis Uskov и радоваться жизни.
если хочется чтоб известно было на клиенте, генерируем с помощью процы новое значение, и вставляем его с клиента в базу. Если хочется автомат, то передаем null и триггер отрабатывает.
только не надо мудрить с получением значений генератора ПОСЛЕ того как отработал триггер... Ведь другой клиент мог уже изменить значение генератора
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Значение ID после добавления / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]