Sep. 1st, 2007

madf: (Default)
Начиная с версии 2.0 Firebird поддерживает запросы вида INSERT ... RETURNING, что очень удобно при автогенерации первичных ключей таблиц. В интерфейсной библиотеке ibpp-2.5.3.1 (последний релиз) заявлена поддержка Firebird 2.0. Однако, обработка запросов INSERT ... RETURNING имеет одну особенность. Обычные запросы INSERT ... происходят, обычно, так:

IBPP::Transaction tr = IBPP::TransactionFactory(db);
IBPP::Statement st = IBPP::StatementFactory(db, tr);

...

st->Prepare(...);
st->Set(...);
st->Execute();

Запросы с возвратом данных после указаной последовательности вызовов требуют вызова Fetch() на каждый полученый кортеж. То есть что-то типа такого:

while (st->Fetch()) {
st->Get(...);

...

}

Для запросов INSERT ... RETURNING вызов Fetch() не требуется. Сразу после Execute() можно делать Get().

Profile

madf: (Default)
madf

April 2018

S M T W T F S
1234567
891011121314
15161718192021
22232425262728
2930     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 21st, 2025 09:05 pm
Powered by Dreamwidth Studios