En cok rastlanan ORA hata kodlari-1
Wednesday, November 19, 2014
ORA-00918: column ambiguously defined
Kosturulan sorguda SELECT ile tablolardan istenen sutun isimlerinin benzersiz olmasi gerekmektedir. Ayni sutun ismi birden cok tabloda kullanilmis olabilir. Ayni isimli sutunlari olan tablolar SELECT * sorgusunda JOIN veya INNER Select ile baglandiginda bu hata ile karsilasilir. SELECT * ile tum tablolarin tum sutunlarini secmek yerine hangi tablodan hangi sutunu istediginiz ayri ayri yazmak ve sorgu icinde sutunlari column alias ile gostermek hatayi giderecektir.
Oracle column alias in nasil yapildigina ornek verecek olursak;
# column_name AS alias_name
SQL> create table t1( t1_id number primary key, col1 integer ) organization index; Table created. SQL> create table t2( t2_id number primary key, id number ) organization index; Table created. SQL> --// code works SQL> select t1_id, t2_id, col1 from t1, t2 where t1_id = id; no rows selected SQL> --// data changes, scope impacted SQL> alter table t2 add (col1 varchar2(10)); Table altered. SQL> --// same code no longer works SQL> select t1_id, t2_id, col1 from t1, t2 where t1_id = id; select t1_id, t2_id, col1 from t1, t2 where t1_id = id * ERROR at line 1: ORA-00918: column ambiguously defined
No comments :
Post a Comment