PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

PostgreSQL 11 - Procedury

Możesz mieć INOUT parametry w procedurze.

Wywołujesz procedurę za pomocą CALL oświadczenie; jeśli są jakieś INOUT parametry, instrukcja zwróci wiersz wyników, podobnie jak SELECT .

Oto przykład, w którym zastosowano procedurę zwracającą 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dodaj tygodnie do daty w PostgreSQL

  2. Indeks na sygnaturze czasowej:funkcje w wyrażeniu indeksu muszą być oznaczone jako IMMUTABLE

  3. Dlaczego potrzebujemy brokerów komunikatów, takich jak RabbitMQ, nad bazą danych, taką jak PostgreSQL?

  4. Jak działa KOPIUJ i dlaczego jest o wiele szybszy niż WSTAWIANIE?

  5. Czy gwarantowane jest zachowanie porządku w podzapytaniu?