Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> UPDATE, subqueries, and NULL values
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_IDSOURCE_INDEX_ID SOURCE_LAST_DATE
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 ---------------- ----------------28-DEC-99 Thanks,
------------------------------------------------------------
-------------------- ---------------- ----------------
-------------------- --------------------
--------------------
P2V1CUXNE1XX01 OSL 01D01 28-DEC-99
![]() |
![]() |