Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Cara membuat pembungkus untuk mengembalikan sesuatu selain kursor ref

Anda dapat menggunakan fungsi pipeline untuk mengembalikan hasil yang ditetapkan satu catatan pada satu waktu, tetapi dengan cara yang dapat dipahami oleh mesin SQL.

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;
/

Dengan menggunakan paket ini, Anda dapat memilih kursor ref Anda:

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. ORACLE Cara menggunakan spool dengan lokasi spool dinamis

  2. Pengecualian Java Oracle - jumlah maksimum ekspresi dalam daftar adalah 1000

  3. Kolom Pengisi Otomatis 12c dengan Nilai Urutan

  4. apa itu integrator data Oracle?

  5. ORA-06502:PL/SQL:kesalahan numerik atau nilai:buffer string karakter pengecualian terlalu kecil dari kode C#