>CREATE CURSOR cur (pk int autoinc, xvalue char(10), fkPlans int) >CREATE CURSOR pln (pk int autoinc, xvalue char(10)) > >INSERT INTO cur (xvalue, fkPlans) VALUES ('', 2) >INSERT INTO cur (xvalue, fkPlans) VALUES ('', 4) >INSERT INTO cur (xvalue, fkPlans) VALUES ('', 6) >INSERT INTO cur (xvalue, fkPlans) VALUES ('', 8) > >INSERT INTO pln (xvalue) VALUES ('ONE') >INSERT INTO pln (xvalue) VALUES ('TWO') >INSERT INTO pln (xvalue) VALUES ('THREE') >INSERT INTO pln (xvalue) VALUES ('FOUR') >INSERT INTO pln (xvalue) VALUES ('FIVE') >INSERT INTO pln (xvalue) VALUES ('SIX') >INSERT INTO pln (xvalue) VALUES ('SEVEN') > >UPDATE cur SET xvalue = pln.xvalue from pln WHERE pln.pk = cur.fkplans > >* or > >UPDATE cur SET xvalue = pln.xvalue FROM pln INNER JOIN cur ON cur.fkPlans = pln.pk > >The first variation is not traditionally written and I'm not sure why it works. May be VFP somehow allows this type of join.