Rumah >pangkalan data >tutorial mysql >Mengapa Pertanyaan Oracle Saya Menghasilkan ORA-00904: Pengecam Tidak Sah?
ORA-00904: Penghuraian ralat Pengecam Tidak Sah
Penerangan masalah:
Apabila melaksanakan pertanyaan gabungan dalaman dalam pangkalan data Oracle, ralat berikut berlaku:
<code class="language-sql">ORA-00904: "TEAM"."DEPARTMENT_CODE": invalid identifier</code>
Punca Punca:
Punca ralat ialah penggunaan petikan berganda dalam nama jadual dan nama lajur dalam pertanyaan. Pangkalan Data Oracle memerlukan nama objek dalam semua huruf besar atau tanpa petikan.
Penyelesaian:
Untuk menyelesaikan isu ini, alih keluar petikan berganda daripada nama jadual dan lajur dalam pertanyaan dan juga jangan gunakan petikan berganda semasa membuat jadual dalam skrip DDL.
Pertanyaan SQL yang betul adalah seperti berikut:
<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>
Elakkan menggunakan petikan berganda dalam skrip DDL:
Amalan terbaik ialah mengelak daripada menggunakan petikan berganda dalam skrip DDL. Adalah disyorkan untuk menggunakan nama huruf besar:
<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>
Pendekatan ini memberikan fleksibiliti yang lebih besar dan mengelakkan kemungkinan ralat akibat selongsong yang tidak konsisten. Ambil perhatian bahawa lajur " "
berlebihan dalam contoh DDL telah dialih keluar.
Atas ialah kandungan terperinci Mengapa Pertanyaan Oracle Saya Menghasilkan ORA-00904: Pengecam Tidak Sah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!