| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> c.d.o.server -> Re: Problems with legacy pl/sql ( sql really ) code
Daniel Morgan wrote:
> Steve wrote: >
> > > Believe the error message as that is exactly what you are trying to do. > > Given that I don't have your schema and code here I can'f fix the > problem for you but it shouldn't be that hard to modify your code to > do an insert into a "test" table and then compare which columns are > null and yet, in the original table, are not nullable. > > Be sure your test table has no constraints of any type.As far as I can tell, the t0 identifier in the update line is not being carried across into the select being used to populate update variables. I've simplified the sql down to ...
update table0 t0
set
(
t0.col1
)
=
(
select
t1.col1
from
table1 t1,
table2 t2
where
t1.id = t2.id
and t2.status = 'OK'
and t0.id = t1.id
and t1.com_id is not null
gives this error...
update table0 t0
*
ERROR at line 1:
ORA-01407: cannot update ("REMOTE_DATABASE"."TABLE0"."COL1") to NULL
ORA-02063: preceding line from REMOTE_DATABASE
I tried removing the braces around the
select statement, and it then didn't recognise the label t0 in the where
clause.
(ORA-00904 "T0"."ID" invalid identifier )
Is there something fundamentally wrong in what I'm trying to do? col1 in all 3 tables contains the same set of identifiers, and is not nullable. t0 is a dblink to a remote database ( on the same server while testing ).
Any suggestions would be gratefully received, little hair left, very grey!
Cheers,
Steve Received on Mon Sep 20 2004 - 01:58:48 CDT
![]() |
![]() |