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

Cách tạo một trình bao bọc để trả về một thứ khác ngoài con trỏ tham chiếu

Bạn có thể sử dụng một hàm đường ống để trả về kết quả được thiết lập một bản ghi tại một thời điểm, nhưng theo cách mà công cụ SQL có thể hiểu được.

create or replace package WrapperSample is

  type TResultRow is record(
     if_type         codes.cd%type
    ,number_infected Integer);

  type TResultRowList is table of TResultRow;

  function GetADedIcWarningsProv
  (
    p_hos_id in work_entity_data.hos_id%type
   ,p_date   in date
  ) return TResultRowList
    pipelined;

end WrapperSample;
/

create or replace package body WrapperSample is

  function GetADedIcWarningsProv
  (
    p_hos_id in work_entity_data.hos_id%type
   ,p_date   in date
  ) return TResultRowList
    pipelined is
    v_refcur   eOdatatypes_package.eOrefcur;
    currentRow TResultRow;
  begin
    v_refcur := YourSchema.getADedIcWarningsProv(p_hos_id, p_date);

    loop
      fetch v_refcur
        INTO currentRow;
      exit when v_refcur%NotFound;
      pipe row(currentRow);
    end loop;

    close v_refcur;

    return;
  end;

end WrapperSample;
/

Sử dụng gói này, bạn có thể chọn con trỏ tham chiếu của mình:

SELECT if_type
      ,number_infected
FROM table(WrapperSample.getADedIcWarningsProv(1, 2))



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Phân bổ bộ nhớ Oracle JDBC trong khi tìm nạp tập kết quả

  2. Truy vấn phụ SQL - cách tìm giá trị nhỏ nhất

  3. ORACLE Sau khi kích hoạt cập nhật:giải quyết lỗi bảng đột biến ORA-04091

  4. Truy vấn xác thực nếu các mục tồn tại trong nhóm phân vùng

  5. Làm cách nào để thay đổi các tham số NLS mặc định cho định dạng ngày thông qua Toad?