Merge/update optimization

  • From: "Stephens, Chris" <ChrisStephens@xxxxxxx>
  • To: "Oracle-L@Freelists. Org (E-mail)" <oracle-l@xxxxxxxxxxxxx>
  • Date: Thu, 28 Oct 2004 14:42:59 -0400

=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

Other related posts: