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

Cách tạo thủ tục lưu trữ Oracle có thể trả về các thực thể cụ thể cũng như tất cả các thực thể

Đây là một ví dụ đơn giản:

Xem xét bảng:PERSONS (person_id, name)

Hàm này sẽ trả về một con trỏ trả về một bản ghi hoặc tất cả các bản ghi nếu không có đối số nào được cung cấp:

CREATE FUNCTION get_person
   (person_id IN persons.person_id%TYPE := NULL)
   RETURN SYS_REFCURSOR IS
   rc SYS_REFCURSOR;
BEGIN
   OPEN rc FOR
     SELECT *
     FROM   persons p
     WHERE  p.person_id = get_person.person_id
     OR     get_person.person_id IS NULL;
   RETURN rc;
END;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tên vai trò hoặc người dùng thông thường không hợp lệ

  2. Cập nhật trình tự cho điều kiện cụ thể - Oracle

  3. Trình điều khiển Oracle JDBC loại 4 tốt nhất là gì?

  4. Cách cập nhật một cột với nối hai cột khác trong cùng một bảng

  5. ORA-00913 Lỗi khi sử dụng nhiều câu lệnh IN