sql >> Database teknologi >  >> RDS >> PostgreSQL

PostgreSQL 11 - Procedurer

Du kan have INOUT parametre i en procedure.

Du kalder en procedure med CALL udmelding; hvis der er nogen INOUT parametre, vil sætningen returnere en resultatrække ligesom SELECT .

Her er et eksempel, der bruger en procedure, der returnerer 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. Filtrerede indekser og tvungen parametrering (redux)

  2. 2 funktioner, der returnerer sekunderne fra en Datetime-værdi i Oracle

  3. EF 4, hvordan man tilføjer delklasser

  4. Skal jeg bruge makroer eller VBA-kode?