sql >> Databasteknik >  >> RDS >> PostgreSQL

PostgreSQL 11 - Procedurer

Du kan ha INOUT parametrar i en procedur.

Du anropar en procedur med CALL påstående; om det finns någon INOUT parametrar, kommer satsen att returnera en resultatrad precis som SELECT .

Här är ett exempel som använder en procedur som returnerar en refcursor :

CREATE PROCEDURE testproc(INOUT r refcursor) LANGUAGE plpgsql AS
$$BEGIN
   r := 'cur';
   OPEN r FOR VALUES (1), (42), (12321);
END;$$;

BEGIN;

CALL testproc(NULL);

  r  
-----
 cur
(1 row)

FETCH ALL FROM cur;

 column1 
---------
       1
      42
   12321
(3 rows)

COMMIT;


  1. MySQL välj koordinater inom räckvidd

  2. Hur man åtgärdar saknade fält i en korstabellfråga i Access

  3. SQL Server 2016:Spara frågeresultat till en CSV-fil

  4. Hur man använder FILEPROPERTY() i SQL Server