|
|
|
|
|
|
|
|
|
|
|
|
Re: Вышел Firebird 5 Release Candidate! [сообщение #3950 является ответом на сообщение #3927] |
Thu, 21 December 2023 11:14 |
SergeyKNP
Сообщений: 80 Зарегистрирован: October 2022
|
Member |
|
|
Добрый день всем!
Поставил FB 5.0 RC2.
Отресторил базу работавшую на FB 3.0.11
Скомпилил в D12 проект реально рабочий на D11.3 и
при POST, если в TFDUpateSQL-> ModifySQL есть директива RETURNING, то получаю сообщение об ошибке
[FireDAC][Phys][FB]-312. Exact update affected [0] rows, while [1] was requested.
если убрать RETURNING - всё ок.
Вопрос: это глюк FB 5.0 или FireDac ?
Проверил: на FB 4.0.4 всё ОК...
[Обновления: Thu, 21 December 2023 11:31] Известить модератора
|
|
|
|
|
Re: Вышел Firebird 5 Release Candidate! [сообщение #3986 является ответом на сообщение #3961] |
Fri, 29 December 2023 12:01 |
SergeyKNP
Сообщений: 80 Зарегистрирован: October 2022
|
Member |
|
|
вот выдержка из "Firebird_5_0_What_New_SQL.pdf", только что поправить в проекте, чтобы заработало D12 не понятно.
----------------------------------------------------------
Поддержка возврата множества записей операторами с RETURNING
Начиная с Firebird 5.0 клиентские модифицирующие операторы INSERT .. SELECT, UPDATE,
DELETE, UPDATE OR INSERT и MERGE, содержащие предложение RETURNING возвращают курсор, то
Новые возможности в языке SQL
7
есть они способны вернуть множество записей вместо выдачи ошибки "multiple rows in
singleton select", как это происходило ранее.
Теперь эти запросы во время подготовки описываются как isc_info_sql_stmt_select, тогда
как в предыдущих версии они были описаны как isc_info_sql_stmt_exec_procedure.
Сингелтон-операторы INSERT .. VALUES, а также позиционированные операторы UPDATE и
DELETE (то есть, которые содержат предложение WHERE CURRENT OF) сохраняют существующее
поведение и описываются как isc_info_sql_stmt_exec_procedure.
Однако все эти запросы, если они используются в PSQL и применяется предложение
RETURNING, по-прежнему рассматриваются как сингелтоны.
|
|
|
|