ORA-00904: 無効な識別子解析エラー
問題の説明:
Oracle データベースで内部結合クエリを実行すると、次のエラーが発生します:
<code class="language-sql">ORA-00904: "TEAM"."DEPARTMENT_CODE": invalid identifier</code>
根本原因:
エラーの根本的な原因は、クエリ内のテーブル名と列名での二重引用符の使用です。 Oracle Databaseでは、オブジェクト名がすべて大文字であるか、引用符なしである必要があります。
解決策:
この問題を解決するには、クエリ内のテーブル名と列名から二重引用符を削除し、DDL スクリプトでテーブルを作成するときに二重引用符を使用しないようにします。
正しい SQL クエリは次のとおりです:
<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>
DDL スクリプトでは二重引用符の使用を避けてください:
ベスト プラクティスは、DDL スクリプトで二重引用符を使用しないことです。すべて大文字の名前を使用することをお勧めします:
<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>
このアプローチにより、柔軟性が向上し、大文字と小文字の矛盾による潜在的なエラーが回避されます。 DDL の例では、冗長な " "
列が削除されていることに注意してください。
以上がOracle クエリで ORA-00904: Invalid Identifier が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。