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

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

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


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