sql >> Databáze >  >> RDS >> PostgreSQL

Jak mohu odkazovat na pojmenované parametry ve funkcích Postgres SQL?

UPRAVENÉ:Jak bylo uvedeno v komentářích, tato odpověď byla přesná, když byla napsána na začátku roku 2012, ale pojmenované parametry jsou podporovány od verze 9.2, vydané koncem roku 2012.

Názvy parametrů jsou pouze ozdobou, když je vaše funkce v jazyk SQL . Parametry můžete použít podle názvu v uložených procedurách definovaných jako language plpgsql .

V důsledku toho musíte odkazovat na argumenty funkce pomocí $X, kde X je pořadová pozice seznamu argumentů funkce (začínající 1).

CREATE OR REPLACE FUNCTION fn_name (
  n VARCHAR(32) = NULL,
  OUT name varchar(32),
  OUT description varchar(64) )
RETURNS setof record
AS 
$$
    SELECT u.name
        , u.description
    FROM table_a u
    WHERE u.name = COALESCE($1, u.name);
$$
LANGUAGE sql;


  1. neznámá databáze v jdbc

  2. Vložit do databáze SQLite android

  3. PostgreSQL:řazení podle sloupců, se specifickou NON-NULL hodnotou LAST

  4. codeigniter 3.1 PDO mysql Číslo chyby:3D000/1046 Není vybrána žádná databáze