=20 I'm writing a batch update/insert procedure and am wondering if there is a way to only update columns corresponding to the 'on' clause if they are different from the current value?...instead of update all columns regardles of whether or not that are the same. So... Table stage Pk_id Col_a Col_b Col_c Table prod Pk_id Col_a Col_b Col_c Merge into a.prod using select * from b.stage on (a.pk_id=3Db.pk_id) = When matched then set a.col_a=3Db.col_a (but only if col_a has a different value) When not matched then insert...; Thanks chris -- //www.freelists.org/webpage/oracle-l