Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

ORA-00911:karakter tidak valid

Sesuai OERR,ORA-00911 :karakter tidak valid

Penyebab :pengenal tidak boleh dimulai dengan karakter ASCII selain huruf dan angka. $#_ juga diperbolehkan setelah karakter pertama. Pengidentifikasi yang diapit oleh tanda kutip ganda dapat berisi karakter apa pun selain tanda kutip ganda. Kutipan alternatif (q'#...#') tidak dapat menggunakan spasi, tab, atau carriage return sebagai pembatas. Untuk semua konteks lainnya, lihat Manual Referensi Bahasa SQL.
Tindakan :Tidak ada

ORA-00911 pengecualian sangat umum dan biasanya terjadi untuk kesalahan sintaks yang umum. Beberapa penyebab umum dan penyelesaiannya diberikan di bawah ini

Periksa daftar untuk menjalankan kesalahan ORA-00911

1 . Terkadang ketika Anda menyalin sql dari editor lain, itu mungkin tidak dapat dicetak/karakter khusus ditambahkan (biasanya Akut alih-alih kutipan)

SQL> select * from APPS.FND_PROFILE_OPTION_NAME where profile_name like   'USER%`;

select * from APPS.FND_PROFILE_OPTION_NAME where profile_name like  'USER%`;
*
ERROR at line 1:
ORA-00911: invalid character

Cara yang benar adalah dengan menghapus karakter tersebut dan coba lagi

SQL> select * from APPS.FND_PROFILE_OPTION_NAME where profile_name like 'USER%';

2. Kesalahan ini terjadi ketika karakter khusus digunakan dalam klausa SQL WHERE dan nilainya tidak diapit dalam tanda kutip tunggal.

SQL> select * from APPS.FND_PROFILE_OPTION_NAME where profile_name like USER%;

select * from APPS.FND_PROFILE_OPTION_NAME where profile_name like USER%;
*
ERROR at line 1:
ORA-00911: invalid character 

Kueri yang benar adalah

SQL> select * from APPS.FND_PROFILE_OPTION_NAME where profile_name like 'USER%';

3 . ketika titik koma tambahan (;) ditambahkan untuk mengakhiri kueri

SQL> select * from APPS.FND_PROFILE_OPTION_NAME where profile_name like 'USER%';;

select * from APPS.FND_PROFILE_OPTION_NAME where profile_name like 'USER%';
*
ERROR at line 1:
ORA-00911: invalid character 

Oracle telah meningkatkan ini 11g dan di atas

select CHECKPOINT_CHANGE# from v$database;;

select CHECKPOINT_CHANGE# from v$database;
*
ERROR at line 1:
ORA-00933: SQL command not properly ended 

Cara yang benar adalah menggunakan titik koma tunggal

SQL> select * from APPS.FND_PROFILE_OPTION_NAME where profile_name like 'USER%';
SQL> select CHECKPOINT_CHANGE# from v$database;

4 . ketika titik koma (;) ditambahkan untuk mengakhiri kueri dalam mengeksekusi langsung pl/sql

SQL> begin
execute immediate 'select * from v$database;';
end;
/
begin
*
ERROR at line 1:
ORA-00911: invalid character
ORA-06512: at line 2 

Oracle telah meningkatkan ini 11g dan di atas

begin
execute immediate 'select * from v$database;';
end;
/ 
begin
*
ERROR at line 1:
ORA-00933: SQL command not properly ended
ORA-06512: at line 2 

Cara yang benar adalah

begin
execute immediate 'select * from v$database';
end;
/

5. itu juga terjadi ketika Anda mencoba menggunakan karakter khusus dalam pernyataan SQL. Jika karakter khusus selain $, _, dan # digunakan dalam nama kolom atau tabel oracle, nama tersebut harus diapit oleh tanda kutip ganda.

create table example (j% number);  

create table example (j% number) 
*
ERROR at line 1: 
ORA-00911: invalid character 

Cara yang benar

Kita harus menyertakannya dalam tanda kutip ganda “”

 SQL> create table example ("j%" number);  
Table created.  

6. ketika titik koma (;) ditambahkan untuk mengakhiri eksekusi query dari bahasa pemrograman seperti .net atau java

Semoga Anda menyukai konten ini untuk menyelesaikan ORA-00911:karakter tidak valid di database oracle. Harap berikan umpan balik untuk meningkatkan dan memasukkan lebih banyak hal dalam posting ini

Artikel Terkait
ORA-00936 ekspresi hilang

ORA-01017:nama pengguna/kata sandi tidak valid

ora-29913:kesalahan dalam menjalankan pemanggilan odciexttableopen

Batasan unik ORA-00001 dilanggar

ORA-00257:kesalahan pengarsipan. Sambungkan hanya internal, hingga bebas.

ORA-03113:akhir file di saluran komunikasi

Dokumentasi Oracle


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Saran Menggunakan Tabel Pivot di Oracle

  2. Manajer Perusahaan Kontrol FMW 11g di R12.2

  3. Bagaimana cara menggunakan Kursor Ref Oracle dari C# ODP.NET sebagai Parameter ReturnValue, tanpa menggunakan Fungsi atau Prosedur Tersimpan?

  4. cetak tanggal mulai dan akhir dalam satu baris untuk rentang tanggal yang berkelanjutan atau tumpang tindih di Oracle SQL

  5. Dokumentasi MAA untuk Oracle Cloud