Rumah > pangkalan data > tutorial mysql > Mengapa Saya Mendapat ORA-00904: 'pengecam tidak sah' Apabila Menyoal Jadual Oracle Saya?

Mengapa Saya Mendapat ORA-00904: 'pengecam tidak sah' Apabila Menyoal Jadual Oracle Saya?

Susan Sarandon
Lepaskan: 2024-12-23 13:06:12
asal
189 orang telah melayarinya

Why Am I Getting ORA-00904:

ORA-00904 Ralat: Pengecam Tidak Sah

Masalah:

Apabila cuba mendapatkan data daripada jadual menggunakan pertanyaan mudah di mana klausa WHERE menyertakan syarat pada nilai lajur, yang anda temui ralat ORA-00904 menunjukkan pengecam tidak sah.

Sebagai contoh, anda mempunyai jadual bernama reg1 dibuat dengan lajur berikut:

create table reg1 (
  fname varchar2(30),
  lname varchar2(30),
  addr varchar2(30),
  mail varchar2(30),
  occu varchar2(30),
  uname varchar2(30),
  passwd varchar2(30)
);
Salin selepas log masuk

Walau bagaimanapun, apabila melaksanakan pertanyaan untuk mengambil yang pertama nama (fname) dan nama akhir (lname) pengguna dengan nama pengguna 'bbb' seperti:

select fname, lname
  from reg1
 where uname="bbb";
Salin selepas log masuk

Anda menerima ralat ORA-00904: "bbb": pengecam tidak sah.

Jawapan:

Ralat berlaku kerana nilai yang anda bandingkan dalam klausa WHERE tidak disertakan dalam petikan tunggal. Dalam Oracle, apabila membandingkan nilai rentetan, anda perlu memetiknya dengan petikan tunggal untuk menunjukkan bahawa ia adalah literal.

Untuk menyelesaikan isu, cuma tambah petikan tunggal di sekitar nilai 'bbb':

select fname, lname
  from reg1
 where uname='bbb';
Salin selepas log masuk

Dengan pembetulan ini, pertanyaan akan berjaya mengambil data untuk pengguna dengan nama pengguna 'bbb', kerana perbandingan kini dianggap betul sebagai rentetan literal perbandingan.

Atas ialah kandungan terperinci Mengapa Saya Mendapat ORA-00904: 'pengecam tidak sah' Apabila Menyoal Jadual Oracle Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan