ORA-00904 : Analyse d'erreur d'identifiant non valide
Description du problème :
Lors de l'exécution d'une requête de jointure interne dans la base de données Oracle, l'erreur suivante se produit :
<code class="language-sql">ORA-00904: "TEAM"."DEPARTMENT_CODE": invalid identifier</code>
Cause fondamentale :
La cause première de l'erreur est l'utilisation de guillemets doubles dans le nom de la table et le nom de la colonne dans la requête. Oracle Database exige que les noms d'objet soient en lettres majuscules ou sans guillemets.
Solution :
Pour résoudre ce problème, supprimez les guillemets doubles des noms de table et de colonne dans la requête et n'utilisez pas non plus de guillemets doubles lors de la création de la table dans le script DDL.
La requête SQL correcte est la suivante :
<code class="language-sql">SELECT Employee.EMPLID as EmpID, Employee.FIRST_NAME AS Name, Team.DEPARTMENT_CODE AS TeamID, Team.Department_Name AS teamname FROM PS_TBL_EMPLOYEE_DETAILS Employee INNER JOIN PS_TBL_DEPARTMENT_DETAILS Team ON Team.DEPARTMENT_CODE = Employee.DEPTID</code>
Évitez d'utiliser des guillemets doubles dans les scripts DDL :
La meilleure pratique consiste à éviter d'utiliser des guillemets doubles dans les scripts DDL. Il est recommandé d'utiliser un nom en majuscules :
<code class="language-sql">CREATE TABLE HRMS.PS_TBL_DEPARTMENT_DETAILS ( Company_Code VARCHAR2(255), Company_Name VARCHAR2(255), Sector_Code VARCHAR2(255), Sector_Name VARCHAR2(255), Business_Unit_Code VARCHAR2(255), Business_Unit_Name VARCHAR2(255), Department_Code VARCHAR2(255), Department_Name VARCHAR2(255), HR_ORG_ID VARCHAR2(255), HR_ORG_Name VARCHAR2(255), Cost_Center_Number VARCHAR2(255) )</code>
Cette approche offre une plus grande flexibilité et évite les erreurs potentielles dues à un boîtier incohérent. Notez que les colonnes " "
redondantes dans l'exemple DDL ont été supprimées.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!