Rumah >pangkalan data >tutorial mysql >Mengapa Saya Mendapat ORA-00904: Pengecam Tidak Sah dalam Pertanyaan SQL Oracle Saya?

Mengapa Saya Mendapat ORA-00904: Pengecam Tidak Sah dalam Pertanyaan SQL Oracle Saya?

Barbara Streisand
Barbara Streisandasal
2024-12-27 22:26:111038semak imbas

Why Am I Getting ORA-00904: Invalid Identifier in My Oracle SQL Query?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn