ORA-00918: column ambiguously defined
OracleNe demek?
Sorguda birden fazla tabloda aynı ada sahip bir sütun bulunuyor ve bu sütun tablo/alias öneki olmadan kullanıldığından Oracle hangi tabloya ait olduğunu belirleyemiyor.
Neden olur?
JOIN edilen iki tabloda da aynı isimli sütun olması (örn. her ikisinde de ID); SELECT, WHERE ya da ORDER BY'da sütunun niteliksiz (öneksiz) kullanılması.
Nasıl çözülür?
Belirsiz her sütunu tablo adı veya alias ile nitelendirin: SELECT a.id, b.id FROM tabloA a JOIN tabloB b ON a.id = b.a_id; Tablolara kısa alias verip tüm sütunlara önek ekleyerek okunabilirliği ve netliği artırın.
Aynı motorda diğer kayıtlar
- ORA-02291integrity constraint violated - parent key not found
- ORA-02292integrity constraint violated - child record found
- ORA-00979not a GROUP BY expression
- ORA-06550line/column PLS-... PL/SQL compilation error
- ORA-04068existing state of packages has been discarded
- ORA-01427single-row subquery returns more than one row
- ORA-12899value too large for column