DBAtlas · Atlas d'exploitation des bases de données

ORA-00918: column ambiguously defined (colonne définie de façon ambiguë)

Oracle

Que signifie cette erreur ?

Une colonne portant le même nom existe dans plusieurs tables de la requête et, comme elle est utilisée sans préfixe de table/d'alias, Oracle ne peut pas déterminer à quelle table elle appartient.

Cause

Les deux tables jointes ont une colonne de même nom (par ex. ID dans les deux) ; la colonne est utilisée sans qualification (sans préfixe) dans SELECT, WHERE ou ORDER BY.

Comment la corriger

Qualifiez chaque colonne ambiguë avec le nom de la table ou l'alias : SELECT a.id, b.id FROM tableA a JOIN tableB b ON a.id = b.a_id; Donnez aux tables des alias courts et préfixez toutes les colonnes pour améliorer la lisibilité et la clarté.

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur