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

Home -> Community -> Usenet -> c.d.o.misc -> UPDATE, subqueries, and NULL values

UPDATE, subqueries, and NULL values

From: Doug Yates <dyatesNOdySPAM_at_acxiom.com.invalid>
Date: Wed, 29 Dec 1999 15:23:03 -0800
Message-ID: <3fc5848e.1141d3e5@usw-ex0108-062.remarq.com>


We have a situation where an update of a subquery works correctly on one box, but not on another......there are no errors generated but the values are NULL in one case. Has anyone seen something similar to the following?

I am trying to use a view in an update statement to modify a table. I thought this was working with other tables but when I run it with the example below, it updates the master table to NULLs rather than the corresponding values from the update table.

Can anyone help with this?

Before Update:

SQLWKS> select * from external_ref

     2>
MOC_ID           INDEX_ID         EXTERNAL_KEY
DATA_SOURCE_ID   EXTERNAL_KEY_TYP FIRST_DATE
CAPTURE_DATE         LAST_DATE
---------------- ----------------

------------------------------------------------------------
-------------------- ---------------- ----------------
-------------------- --------------------
--------------------
P2W1J2PSX00E01 P2V1CUXNE1XX01 OSL 01D01 28-DEC-99 15-DEC-99 28-DEC-99

Result of query:

SQLWKS> (select

     2> er.capture_date capture_date, er.moc_id, er.index_id index_id,

     3>          er.last_date last_date,
     4>          peru.capture_date source_capture_date,
peru.moc_id source_moc_id,
     5>          peru.index_id source_index_id, sysdate
source_last_date
     6>      from external_ref er, prof_external_ref_update
peru
     7>      where er.external_key = peru.external_key and
     8>            er.external_key_type =
peru.external_key_type and
     9>            er.data_source_id = peru.data_source_id)
    10>
CAPTURE_DATE         MOC_ID           INDEX_ID
LAST_DATE            SOURCE_CAPTURE_DATE  SOURCE_MOC_ID
SOURCE_INDEX_ID SOURCE_LAST_DATE
-------------------- ---------------- ----------------
Update Execution:
SQLWKS> update
     2>  (select
     3>          er.capture_date capture_date, er.moc_id,
er.index_id index_id,
     4>          er.last_date last_date,
     5>          peru.capture_date source_capture_date,
peru.moc_id source_moc_id,
     6>          peru.index_id source_index_id, sysdate
source_last_date
     7>      from external_ref er, prof_external_ref_update
peru
     8>      where er.external_key = peru.external_key and
     9>            er.external_key_type =
peru.external_key_type and
    10>            er.data_source_id = peru.data_source_id)
    11> set moc_id = source_moc_id, index_id = source_index_id,

    12> capture_date = source_capture_date, last_date = source_last_date

    13>
1 row processed.

After Update:

SQLWKS> select * from external_ref

     2>
MOC_ID           INDEX_ID         EXTERNAL_KEY
DATA_SOURCE_ID   EXTERNAL_KEY_TYP FIRST_DATE
CAPTURE_DATE         LAST_DATE
---------------- ----------------

------------------------------------------------------------
-------------------- ---------------- ----------------
-------------------- --------------------
--------------------
P2V1CUXNE1XX01 OSL 01D01 28-DEC-99
28-DEC-99 Thanks, Received on Wed Dec 29 1999 - 17:23:03 CST

Original text of this message

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