sql >> Databasteknik >  >> RDS >> Oracle

Hur definierar man en pl sql-funktion med dynamiska returtyper i Oracle?

Du kan implementera detta genom att använda en svagt skriven Ref Cursor som returtyp. Detta är särskilt enkelt att implementera från ett klientgränssnitt med JDBC, eftersom den returnerade markörtypen kan stegas igenom precis som alla frågeresultat och metadata kan förhöras från ResultSet.getMetaData(). Här är ett exempel:

CREATE OR REPLACE PROCEDURE retrieve_info(field_id in integer, p_cursor in out sys_refcursor)
AS
BEGIN
  open p_cursor for 'select * from emp';
END;

Frågan inom citattecken kan vara vad som helst som returnerar vilken typ som helst, för valfritt antal kolumner.



  1. Anslut till lokal MySQL-server utan sudo

  2. SQLite fungerar, men PostgreSQL migrerad databas orsakar ERROR - Django 3.0

  3. Number från bind_result bryter arrayen php

  4. Hur gör man en sammanfogad fråga i ZF-tabeller-gränssnittet?