PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

PostgreSQL 11 - Procédures

Vous pouvez avoir INOUT paramètres dans une procédure.

Vous appelez une procédure avec le CALL déclaration; s'il y a des INOUT paramètres, l'instruction renverra une ligne de résultat comme SELECT .

Voici un exemple qui utilise une procédure qui retourne un 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;