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

ORA-00933:Perintah SQL tidak berakhir dengan benar

Di .net, ketika kami mencoba mengeksekusi satu pernyataan Oracle SQL dengan titik koma di akhir. Hasilnya akan menjadi kesalahan Oracle:ora-00911:karakter tidak valid. Oke, Anda tahu bahwa satu pernyataan SQL tidak memerlukan titik koma, tetapi bagaimana dengan mengeksekusi 2 pernyataan SQL dalam satu string misalnya:

Dim db As Database = DatabaseFactory.CreateDatabase("db")
Dim cmd As System.Data.Common.DbCommand
Dim sql As String = ""

sql = "DELETE FROM iphone_applications WHERE appid = 1; DELETE FROM iphone_applications WHERE appid = 2; "

cmd = db.GetSqlStringCommand(sql)
db.ExecuteNonQuery(cmd)

Kode di atas akan memberi Anda kesalahan Oracle yang sama:ora-00911:karakter tidak valid.

Solusi untuk masalah ini adalah dengan membungkus 2 pernyataan Oracle SQL Anda dengan BEGIN dan END; sintaks, misalnya:

sql = "BEGIN DELETE FROM iphone_applications WHERE appid = 1; DELETE FROM iphone_applications WHERE appid = 2; END;"

Atas perkenan:http://www.lazyasscoder.com/Article.aspx?id=89&title=ora-00911%3A+invalid+character+when+executing+multiple+Oracle+SQL+statements



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana Cara Membuat Kunci Asing di Oracle SQL Developer?

  2. Konversi tanggal ke string Oracle

  3. 2 Cara Memformat Hasil Kueri Anda di SQLcl (Oracle)

  4. Cara Memformat Angka di Oracle

  5. tidak dapat memuat oci8 -> Kesalahan fatal:Panggilan ke fungsi yang tidak ditentukan oci_connect()