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

thực thi `EXECUTE NGAY LẬP TỨC` Oracle Statement Bắt lỗi

Vấn đề là ; ký tự trong 'SELECT * FROM DUAL;' .

Từ tài liệu :

execute_immediate_statement ::=
EXECUTE_IMMEDIATE dynamic_string
 { 
    INTO { define_variable [, define_variable ...] | record_name } 
  | BULK COLLECT INTO { collection_name [, collection_name ...] | :host_array_name } 
 }
   [ USING [ IN | OUT | IN OUT ] bind_argument
   [, [ IN | OUT | IN OUT ] bind_argument] ... ] [ returning_clause ] ;

... ở đâu dynamic_string là (nhấn mạnh của tôi):

Vì nó sẽ không chấp nhận nhiều câu lệnh trừ khi bạn đặt chúng trong một khối PL / SQL duy nhất, nên ; dấu phân cách không được mong đợi.

Có một lời giải thích tốt hơn tại Sử dụng Tuyên bố THỰC HIỆN NGAY LẬP TỨC trong PL / SQL :



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bản ghi PLSQL trong Oracle là gì

  2. Thủ tục lưu trữ và con trỏ Oracle

  3. Trình kích hoạt Oracle để tạo số tự động

  4. Giới thiệu Trình điều khiển Easysoft Oracle® vào Môi trường SOA của bạn

  5. Lăn số lượng riêng biệt hàng ngày