sql >> Databáze >  >> RDS >> Oracle

Jak definovat funkci pl sql s dynamickými typy návratů v Oracle?

Můžete to implementovat pomocí slabě napsaného referenčního kurzoru jako návratového typu. To je obzvláště snadné implementovat z klientského rozhraní pomocí JDBC, protože vrácený typ kurzoru lze procházet stejně jako jakýkoli výsledek dotazu a metadata lze zjišťovat z ResultSet.getMetaData(). Zde je příklad:

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;

Dotaz v uvozovkách může být cokoli vracejícího jakýkoli typ, pro libovolný počet sloupců.



  1. Project Links nefungují na serveru Wamp

  2. Mnoho tabulek nebo řádků, který z nich je v SQL efektivnější?

  3. hibernace s c3p0:createClob() ještě není implementováno

  4. SQL:Jak mohu získat hodnotu atributu v datovém typu XML?