You will have to use tcursors to update the table.
Example:
VAR
TC1,TC2 TCURSOR
ENDVAR
SETMOUSESHAPE(MOUSEWAIT,TRUE)
MESSAGE("Updating table, please wait...."

TC1.OPEN("preferences_temp.DB"

TC2.OPEN("nomcom.DB"

TC2.EDIT()
SCAN TC1 :
TC2.INSERTRECORD()
TC2."preferences_id"=TC1."preferences_id"
TC2."Comments"=TC1."Comments"
TC2.POSTRECORD()
ENDSCAN
TC2.ENDEDIT()
TC2.CLOSE()
TC1.CLOSE()
MESSAGE("Table update complete, thank you."
SETMOUSESHAPE(MOUSEARROW,TRUE)
Now this example is very basic and relies upon Pdox to handle record locking and verification for you. It also will create a record in the noncom table for each record in the preferences_temp table. Seems kind of redundant to me, but I don't know your table structure. If you are wanting to only update certain types of records you can modify the scan to read.
SCAN TC1 FOR TC1."preferences_id" = "YOUR VARIABLE HERE" :
Personally I use querys only where I am pulling data into a users priv directory and modifing it there. In a multiuser enviornment TCursors are more reliable and easier to control.