ORA-00900 Pernyataan SQL tidak valid adalah salah satu kesalahan umum
Berikut adalah apa yang dikatakan dokumentasi oracle tentang kesalahan ini
Referensi:Dokumentasi Oracle
Daftar periksa untuk menyelesaikan Pernyataan SQL ORA-00900 yang tidak valid
(1) Kesalahan ini biasanya terjadi saat Anda mencoba membuat prosedur Oracle dan Opsi Prosedural tidak diinstal. Untuk menentukan apakah Opsi Prosedural telah diinstal, buka sesi Oracle menggunakan SQL*Plus. Jika banner PL/SQL tidak muncul, berarti Anda tahu bahwa Opsi Prosedural belum diinstal.
(2) ORA-00900 dapat terjadi saat mencoba menggunakan tautan basis data. Banyak pengguna menemukan bahwa mereka menemukan ORA-00900 saat mereka mencoba untuk menanyakan bidang yang mungkin telah bekerja sebelum tahun 2000. Untuk menyelesaikan ORA-00900, pada database lokal, coba ubah parameter init.ora Anda NLS_DATE_FORMAT, lalu gunakan tanda kutip ganda (bukan tunggal) di sekitar nilai
alter session set NLS_DATE_FORMAT = "DD-MON-YYYY";
(3) Menggunakan pernyataan eksekusi pada pengembang sql / koneksi JDBC
execute dbms_utility.analyze_schema('OKX','ESTIMATE',30); ORA-00900: invalid SQL statement
eksekusi adalah opsi sqlplus, kita harus menggunakan salah satu opsi di bawah ini dalam aplikasi/program bahasa lain
begin execute dbms_utility.analyze_schema('OKX','ESTIMATE',30); end; or begin execute dbms_utility.analyze_schema('OKX','ESTIMATE',30) end; /
(4) Sering kali pengembang melakukan kesalahan dalam blok plsql dan menulis pernyataan seperti
v_dynsql:='dbms_utility.analyze_schema('OKX','ESTIMATE',30)'; execute immediate v_dynsql;
Kode di atas memberikan ORA-00900 sebagai dbms_utility.analyze_schema('OKX','ESTIMATE',30);
bukan pernyataan yang valid
Cara mengatasinya adalah dengan menggunakan awal dan akhir seperti yang diberikan di bawah ini
v_dynsql:= q'[BEGIN dbms_utility.analyze_schema('OKX','ESTIMATE',30); END;]'; execute immediate v_dynsql;
(5) Jika Anda ingin mendeskripsikan tabel di PLSQL
SQL> begin execute immediate 'describe FND_USER'; 2 end; 3 / begin execute immediate 'describe FND_USER'; * ERROR at line 1: ORA-00900: invalid SQL statement ORA-06512: at line 1
Anda tidak dapat menggunakan desc di sini. kami mungkin ingin memilihnya berdasarkan kueri
begin execute immediate q'[select COLUMN_NAME,DATA_TYPE from all_tab_columns where table_name = 'FND_USER' order by column_id]'; end; /
(6) Jika Anda mencoba menjelaskan rencana membuat pernyataan tampilan
SQL> explain plan for create view test as select * from dual; explain plan for create view test as select * from dual * ERROR at line 1: ORA-00900: invalid SQL statement
Semoga Anda menyukai berbagai cara untuk memperbaiki kesalahan ORA. Harap berikan umpan balik tentang itu
Artikel terkait
ORA-00911:karakter tidak valid
ORA-29913:kesalahan dalam menjalankan pemanggilan ODCIEXTTABLEOPEN
ORA-27154:pembuatan posting/tunggu gagal saat startup
ORA-01111
ORA -00257 :Pengarsip error, hubungkan internal saja sampai dibebaskan
ora-29283:operasi file tidak valid