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

Có được phép sử dụng một SELECT bên trong một hàm bảng PL / SQL có kết cấu không?

  1. thông thường các hạn chế DML chỉ liên quan đến các câu lệnh sửa đổi (UPDATE, DELETE ...) vì vậy SELECT nên OK. Tôi sẽ cố gắng tìm một tuyên bố cụ thể từ Oracle.

  2. Chế độ xem sẽ là công cụ đầu tiên của bạn để mô-đun hóa các truy vấn thường được sử dụng.

  3. Các hàm có một nhược điểm so với các khung nhìn:nếu chúng được gọi từ một SELECT khác thì chúng không được thực thi tại cùng một thời điểm như SELECT chính. Mỗi lệnh gọi đến một SELECT là nhất quán nhưng vì SELECT nằm trong mã hàm chứ không phải trong SQL chính nên bạn có thể trả về các kết quả không nhất quán. Điều này không thể xảy ra với các chế độ xem và chọn phụ:nếu một câu lệnh lớn gọi một chế độ xem, chế độ xem được tạo cùng một thời điểm với truy vấn chính.

Cập nhật :liên quan đến nhận xét của bạn về các truy vấn được tham số hóa

Bạn có thể xây dựng các khung nhìn được tham số hóa, đó là các khung nhìn phụ thuộc vào các biến được đặt trước khi thực thi. Đây là ví dụ trên AskTom chỉ ra cách bạn có thể làm điều đó với userenv('client_info') hoặc dbms_session.set_context .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hàm TRANSLATE () trong Oracle

  2. Làm cách nào để kiểm tra ngữ pháp PL / SQL có trong ANTLR4?

  3. Cách thiết lập OTA trong R12 và 11i

  4. Sự phụ thuộc của các biểu mẫu Oracle

  5. Cài đặt máy khách cơ sở dữ liệu Oracle từng bước