At first I just tried
UPDATE ...
SET field1 = 'K', field2 = '-'
WHERE EXISTS(...
and changed to EXECUTE BLOCK after that. First (for testing) I used ROWS 1
(or ROWS 5) in the FOR SELECT and it was still time consuming, although it
finished within a minute or so.
I've simply never thought of
On 3-3-2018 17:43, setysvar setys...@gmail.com [firebird-support] wrote:
> The execute blocks had similar similar content to:
>
> for select mt.PK
> from tt
> join mt on
> where mt.integerfield = 1 into :PK do
> begin
> suspend;
> update
> set field1 = 'K', field2 = '-'
>
I was very surprised by what I observed in Firebird (probably 2.5.4)
yesterday and today. After importing 3000 records into a temporary table
(on commit preserve), I wrote an (selectable, but containing update)
EXECUTE BLOCK that updated a normal table (updating 3000 of 1 million
records)