powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / primary key
3 сообщений из 3, страница 1 из 1
primary key
    #32225802
zDIV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помогите новичку... Если INTEGER primary key заполняется в тригере от генератора, то его нельзя задавать из клиента, тригер все равно его меняет. Принципиально так ли это? (мне необходимо "и так - и так" - по умолчанию и из ХП получаю ID и вручную заношу при INSERT, чтобы знать ID на клиенте для целого ряда действий (других вставок). Работаю через ADO. Не получается... Принципиально так ли это? Я почему то считал, что логично было бы при вставке серверу выполнять... ага... скорее всего так и есть.

Неужели единственный выход только через INSERT в ХП, которая и возвратит ID (нехочется раздувать скрипт с большим списком полей, да и вот неоправданная досада - нельзя использовать домены при объявлении ХП (ПОЧЕМУ!!!???) - в моем случае крайне утомительно создавать аккуратные домены для полей, а в ХП снова опускаться)? Хотя, если в тригере проверять ID на NULL и подключать генератор только при NULL (или при DEFAULT, если ID объявлен с DEFAULT). Вот что значит общение, даже попытка...
...
Рейтинг: 0 / 0
primary key
    #32225816
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
точно в триггере проверять на null
сам себе ответил :)
...
Рейтинг: 0 / 0
primary key
    #32226020
koff4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот пример из "Мир Interbase".

Create trigger Table_example_bi
active before inset position 0
AS
BEGIN
IF (NEW.ID IS NULL) THEN
NEW.ID = GEN_ID(GEN_TABLE_EXAMPLE_ID,1);
END

...или в FB1.5 можно более модно

...
NEW.ID=COALESCE(NEW.ID,GEN_ID(GEN_TABLE_EXAMPLE_ID,1));
...

Работает все железно!!!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / primary key
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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