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

Làm thế nào để xử lý các tham số tùy chọn trong truy vấn SQL?

Có, sử dụng bất kỳ cách nào sau đây:

WHERE m.id_pk = NVL(n_RequiredId, m.id_pk);
WHERE m.id_pk = COALESCE(n_RequiredId, m.id_pk);
WHERE (n_RequiredId IS NULL OR m.id_pk = n_RequiredId);

... không đáng sợ. Chúng sẽ hoạt động, nhưng hoạt động kém nhất trong số các tùy chọn hiện có.

Nếu bạn chỉ có một tham số, IF / ELSE và các câu lệnh riêng biệt, được điều chỉnh phù hợp là một lựa chọn thay thế tốt hơn.

Tùy chọn tiếp theo sau đó là SQL động. Nhưng mã hóa SQL động là vô ích nếu bạn sử dụng các vị từ không thể phân loại trong ví dụ đầu tiên. SQL động cho phép bạn điều chỉnh truy vấn trong khi cung cấp nhiều đường dẫn. Nhưng nó cũng có nguy cơ chèn SQL, vì vậy nó phải được thực hiện đằng sau các truy vấn được tham số hóa (tốt nhất là trong các thủ tục / hàm được lưu trữ trong các gói.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. phiên bản trình điều khiển oracle jdbc điên rồ

  2. Bộ điều hợp mạng không thể thiết lập kết nối - Oracle 11g

  3. Làm mới / Cập nhật màn hình biểu mẫu trong Oracle D2k Forms 6i

  4. ScaleGrid thêm Đám mây Oracle cho Lưu trữ Cơ sở dữ liệu Được Quản lý

  5. Tương đương với varchar (max) trong Oracle là gì?