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

Trả về 'bảng' (không xác định trước tên cột) từ một hàm PL / SQL

Tôi sẽ mạnh mẽ nghi ngờ rằng bạn không muốn làm điều này. Tự động tạo các kiểu đối tượng và xây dựng kiểu linh hoạt này trong PL / SQL hầu như luôn là công thức dẫn đến sự hủy hoại. Cuối cùng, bạn sẽ phải viết SQL động cực kỳ phức tạp ở khắp mọi nơi (cả trong trình gọi và trong các hàm của bạn), điều này sẽ làm cho mã của bạn khó đọc và gỡ lỗi hơn rất nhiều. Khi mã của bạn trở nên phức tạp, tốt hơn hết bạn nên viết các khung tạo mã nhưng điều đó khiến bạn gặp phải vấn đề khó hơn nhiều là viết mã tạo ra mã giải quyết vấn đề của bạn hơn là chỉ viết mã giải quyết vấn đề của bạn.

Điều đó nói rằng, nếu bạn thực sự, thực sự quyết tâm, bạn có thể xây dựng một chức năng bảng pipelined hoàn toàn chung chung . Điều đó liên quan đến một số thuật sĩ sâu, chuyên sâu bằng cách sử dụng khung Hộp mực Dữ liệu Oracle. Nó khá tuyệt. Nhưng số người thực tế có thể hỗ trợ và mở rộng loại mã này là rất nhỏ.

Với thủ thuật ít hơn một chút (nhưng vẫn còn cách, nhiều hơn cách tôi đề xuất cho hầu hết mọi tổ chức), bạn có thể tạo hàm bảng linh hoạt dựa trên các kiểu trả về từ hệ thống phân cấp kiểu được xác định trước. Điều đó có nhiều khả năng được hỗ trợ nhưng giả định rằng bạn có thể xây dựng hệ thống phân cấp loại của mình từ trước.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cú pháp SQL động sử dụng THỰC HIỆN NGAY LẬP TỨC

  2. Cách chuyển một mảng chuỗi từ C # sang một thủ tục được lưu trữ trong Oracle

  3. Tôi có thể kết nối Flutter (Dart) với Máy chủ Oracle của mình bằng cách nào? Có ai đó đã thử về điều này?

  4. Xoay vòng trên Oracle 10g

  5. Oracle xóa các hàng khỏi nhiều bảng