sql >> Database >  >> RDS >> Oracle

Hoe definieer je een pl sql-functie met dynamische retourtypen in Oracle?

U kunt dit implementeren door een zwak getypte Ref Cursor als retourtype te gebruiken. Dit is vooral eenvoudig te implementeren vanuit een clientinterface met JDBC, omdat het geretourneerde cursortype kan worden doorlopen, net als elk zoekresultaat en de metagegevens kunnen worden opgevraagd vanuit ResultSet.getMetaData(). Hier is een voorbeeld:

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;

De zoekopdracht tussen aanhalingstekens kan van alles zijn dat elk type retourneert, voor een willekeurig aantal kolommen.



  1. Hoe de kolomkoppen te verwijderen bij het e-mailen van queryresultaten in SQL Server (T-SQL)

  2. PostgreSQL 9.4:Aggregate / Join-tabel op JSON-veld-ID in array

  3. Postgres-codering UTF8-fout bij het invoegen van afbeeldingen via Java

  4. Opnieuw ordenen van kolomgegevens in mysql