Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

ORA-00933:Lệnh SQL không được kết thúc đúng cách

Trong .net, khi chúng ta cố gắng thực thi một câu lệnh Oracle SQL duy nhất có dấu chấm phẩy ở cuối. Kết quả sẽ là một lỗi tiên tri:ora-00911:ký tự không hợp lệ. OK, bạn nghĩ rằng một câu lệnh SQL không cần dấu chấm phẩy, nhưng còn việc thực thi 2 câu lệnh SQL trong một chuỗi thì sao:

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)

Đoạn mã trên sẽ cung cấp cho bạn cùng một lỗi Oracle:ora-00911:ký tự không hợp lệ.

Giải pháp cho vấn đề này là bọc 2 câu lệnh Oracle SQL của bạn bằng một BEGINEND; cú pháp, ví dụ:

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

Được phép: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. Làm thế nào để viết tập lệnh chèn oracle với một trường là CLOB?

  2. Lỗi kích hoạt Oracle ORA-04091

  3. ORA-12728:phạm vi không hợp lệ trong biểu thức chính quy

  4. cách sửa đổi kích thước của một cột

  5. Tất cả các lượt xem hữu ích về hiệu suất động 11g