Menyelesaikan masalah ORA-00904: Pengecam Tidak Sah dalam Pangkalan Data Oracle
Ralat ORA-00904 biasanya menunjukkan bahawa pangkalan data tidak dapat mengecam pengecam yang digunakan dalam pernyataan SQL. Ralat ini sering berlaku apabila cuba mengambil nilai daripada jadual menggunakan nilai lajur tertentu sebagai penapis.
Masalah:
Seorang pengguna melaporkan menghadapi ralat ORA-00904 semasa melaksanakan pertanyaan berikut:
select fname, lname from reg1 where uname="bbb";
Pertanyaan ini bertujuan untuk mendapatkan fname dan lname lajur daripada jadual reg1, yang nilai lajur uname sepadan dengan "bbb". Walau bagaimanapun, pengguna menerima mesej ralat:
ORA-00904: "bbb": invalid identifier
Penyelesaian:
Ralat menunjukkan penggunaan tanda petikan berganda (") di sekitar nilai "bbb" dalam klausa WHERE. Dalam Oracle SQL, literal rentetan mesti disertakan dalam petikan tunggal ('). berikut:
select fname, lname from reg1 where uname='bbb';
Dengan menggunakan petikan tunggal di sekeliling literal rentetan, pangkalan data akan mengenali "bbb" dengan betul sebagai nilai rentetan dan melaksanakan pertanyaan dengan jayanya.
Atas ialah kandungan terperinci Mengapa Saya Mendapat ORA-00904: Pengecam Tidak Sah dalam Pertanyaan SQL Oracle Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!