Straight SQL would work much faster than a cursor for loop.
You could try something like this.


Code:
UPDATE child_table
   SET field1 = 
     ( SELECT newvalue 
         FROM parent_table p
        WHERE p.pkey1 = child_table.pkey1
          AND p.pkey2 = child_table.pkey2
          AND p.pkey3 = child_table.pkey3);