Error when complile PLSQL migrated from Oracle 7.3.4 to 9i
Error when compile PLSQL migrated from Oracle 7.3.4 to 9i
I got the following error when compile PLSQL migrated from Oracle 7.3.4 to 9i:
error message: ORA-00918: column ambiguously defined
Does anyone know there are any syntax difference (SQL, PLSQL, datatype etc.)between Oracle 7.3.4 and 9i ?
What are they and how can I fix it ?
Thanks a lot for your help !!!
It's a while since I went from 7.3.4 to 8.1.7 - I remember having a few problems something like this. They were all cases where the code was "wrong" in some way, but 7.3.4 made a reasonable assumption - which worked! - so no visible problems. Vsn 8 was more strict and I had to correct the code - I guess 9i is just as (more?) fussy.
To correct your error, you must prefix the ambiguous column names with either the table name or the alias. Can't say more than that without seeing the details.
"The power of instruction is seldom of much efficacy except in those happy dispositions where it is almost superfluous" - Gibbon, quoted by R.P.Feynman
common SQL parser
Apparently, 9i uses the RDBMS SQL parser to do compile time analysis on PL/SQL. In the past, the PL/SQL engine used a different SQL parser than the RDBMS.
I have not done an upgrade, but read this in the "New Features" book by Freeman.
OCP DBA 8i, 9i, 10g
Click Here to Expand Forum to Full Width