Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Addendum

Re: Addendum

From: David Pattinson <david_at_addease.com.au>
Date: Fri, 21 May 1999 10:55:20 +1000
Message-ID: <3744AEF7.C7820909@addease.com.au>


Doug,

what about:

update B
set B.offset = (select DECODE(A.offset,NULL,B.offset,A.offset) from A where a.pk = B.pk) ;

(a sneaky trick... which seems to work)

HTH, David.

> These tables are actually not exactly the same, they have 388
> primary key columns in common (those are the ones I care about)
> the count on table b is 527 and the other is 458. 388 overlap.
> I tried something a little different but no luck - I tried
> update B set offset = A.offset
> where A.primarykey = B.primarykey.
> It returns 527 rows updated, wheras there are only 388 in common. There
> are no duplicates in the key column. Also, not all the updates made it. I am
>
> confused.
>
> Doug Cowles wrote:
>
> > I need to do a large update and can't quite figure it out. Essentially,
> >
> > I have two tables of the same name and fieldtypes in two different
> > schemas.
> > The only difference is that on one table, a field called "offset" has
> > values in
> > it and on the other table (table B), it doesn't. The idea is to get
> > table b to
> > look exactly like table a.
> >
> > I tried
> >
> > Update B set offset =
> > (select offset from A where primarykey = B.primarykey)
> >
> > and got
> > cannot update mandatory (NOT NULL) column to NULL.
> > The offset is not null on both tables, so there are no null values. My
> > correlation
> > logic must be askew.
> >
> > Would appreciate any advice,
> >
> > - Dc.
Received on Thu May 20 1999 - 19:55:20 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US