powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Получение данных работы триггера
20 сообщений из 20, страница 1 из 1
Получение данных работы триггера
    #39216605
Beton-Karton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Есть таблица Table1
id: inetger;
name: varchar(100);

есть генератор table1_id

к таблице есть триггер before_insert
new.id=gen_id(table1_id,1);

На клиенте такой запрос insert into table1(name) values('XXX');

Всё отлично работает, триггер срабатывает, id генерируется. Но есть необходимость получать значение этого new.id обратно в клиента.
Какие могут быть варианты, чтобы не делать новый запрос?

Спасибо
...
Рейтинг: 0 / 0
Получение данных работы триггера
    #39216608
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RTFM: RETURNING
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Получение данных работы триггера
    #39216610
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Получение данных работы триггера
    #39216624
Beton-Karton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не пойму как на клиенте обработать полученный результат.

если q1.sql=' insert into table1(name) values('XXX') returning id';
это id параметром что-ли q1 будет?
...
Рейтинг: 0 / 0
Получение данных работы триггера
    #39216636
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Beton-karton!
You wrote on 15 апреля 2016 г. 14:31:24:

Beton-karton> это id параметром что-ли q1 будет?
это зависит от того, какими компонентами (или иными средствами доступа) ты пользуешься в программе.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Получение данных работы триггера
    #39216639
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Beton-Kartonэто id параметром что-ли q1 будет?
Ты не поверишь, но результаты работы любого запроса возвращаются как поля.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Получение данных работы триггера
    #39216641
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Dimitry Sibiryakov!
You wrote on 15 апреля 2016 г. 14:35:56:

Dimitry Sibiryakov> Ты не поверишь, но результаты работы любого запроса возвращаются как поля.
не нужно натягивать собственную сову на соседский глобус васюкинского района.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Получение данных работы триггера
    #39216647
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийэто зависит от того, какими компонентами (или иными средствами
доступа) ты пользуешься в программе.
Нужно быть очень проктостоматологически ориентированным чтобы данные из выходной SQLDA
возвращать через одну дырку для SELECT и через совсем другую для любых остальных запросов.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Получение данных работы триггера
    #39216648
Beton-Karton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня D5 с FB 2.0 через DBE

для компонента TQuery запрос

insert into products(name) values ('A12345') returning id исполняется, но обращение query1.fieldbyname('id').value не допускается
...
Рейтинг: 0 / 0
Получение данных работы триггера
    #39216653
Beton-Karton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
точнее запрос такой insert into products(name) values ('A12345') returning (id)
а запрос insert into products(name) values ('A12345') returning (id) into id ваще не работает
...
Рейтинг: 0 / 0
Получение данных работы триггера
    #39216656
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Beton-Karton,

bde умер в 2002 году, и разумеется, returning он не понимает. Так что с получением id, сгенерированного в триггере - облом.
http://www.ibase.ru/generator/
...
Рейтинг: 0 / 0
Получение данных работы триггера
    #39216657
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Beton-Kartonобращение query1.fieldbyname('id').value не допускается

Прямо так и говорит "не допускаю"?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Получение данных работы триггера
    #39216658
Beton-Karton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv,

похоже на то, а жаль, я уже нахерачил триггеров
...
Рейтинг: 0 / 0
Получение данных работы триггера
    #39216661
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Dimitry Sibiryakov!
You wrote on 15 апреля 2016 г. 14:48:03:

Dimitry Sibiryakov> Нужно быть очень проктостоматологически ориентированным чтобы данные из выходной SQLDA
> возвращать через одну дырку для SELECT и через совсем другую для любых остальных запросов.вылазь из бункера иногда.
шоб посмотреть на мир вокруг.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Получение данных работы триггера
    #39216662
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Beton-karton!
You wrote on 15 апреля 2016 г. 14:50:21:

Beton-karton> похоже на то, а жаль, я уже нахерачил триггеровтеперь будешь херачить процедуры...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Получение данных работы триггера
    #39216670
Beton-Karton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий,

угу. С любом случае, спасибо
...
Рейтинг: 0 / 0
Получение данных работы триггера
    #39216723
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийтеперь будешь херачить процедуры...
Ты не поверишь, но с точки зрения API, insert returning и есть процедура. Так что если у
аффтара ничего не получается с ним, то и с процедурами будет облом.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Получение данных работы триггера
    #39216728
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Dimitry Sibiryakov!
You wrote on 15 апреля 2016 г. 15:42:30:

Dimitry Sibiryakov> Ты не поверишь, но с точки зрения API, insert returning и есть процедура.
> Так что если у аффтара ничего не получается с ним, то и с процедурами будет облом.иди уже хлебни амброзии
восстанови кислотно-щелочной баланс
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Получение данных работы триггера
    #39216765
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Beton-Karton,

попробуй этот запрос как-нибудь через компонент-процедуру выполнить, хотя бы внутр EXECUTE BLOCK

но воообще с BDE пора слезать, эта лошадь давно умерла

почему бы хотя бы для этих запросов не использовать другую библиотеку? Сделай два параллельных подключения двум билиотеками. Старый код пусть ПОКА тянет через BDE, а исправленный код будешь потихоньку переводить на что-то чуть более живое, процедуру за процедурой
...
Рейтинг: 0 / 0
Получение данных работы триггера
    #39218309
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как раз попалось - сосуществование BDE с современными библиотеками в одном соединении

https://web.archive.org/web/20090918163138/http://konstb.newmail.ru/interbase/hints.html

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


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