You could try something like (not tested):

EXECUTE BLOCK AS
  DECLARE VARIABLE MyDbKey char(8);
BEGIN
  for select LrgTbl.rdb$db_key
      from "LargeTable" LrgTbl
      inner join "Uppgiftshållare" UH on UH."ECO_ID" = LrgTbl."Hållare"
      inner join "Uppgiftshanterare" Uhant on Uhant."ECO_ID" = UH."Hanterare"
      where LrgTbl."ÄrNull" = 0
        and UH."Propertynamn" in ('This', 'That', 'Other', 'Extra')
        and Uhant."ColX" = 'Whatever' into :MyDbKey do
  begin
    update LargeTable 
    set <whatever>
    where rdb$db_key = :MyDbKey;
  end
END

Using RDB$DB_KEY is probably quicker than using the primary key (ECO_ID), 
though I use it very rarely, so don't be surprised if there's some error above.

HTH,
Set

Reply via email to