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

Hvordan refererer jeg til navngivne parametre i Postgres sql-funktioner?

REVIDERET:Som påpeget i kommentarerne, var dette svar nøjagtigt, da det blev skrevet i begyndelsen af ​​2012, men navngivne parametre er blevet understøttet siden v9.2, udgivet i slutningen af ​​2012.

Parameternavne er kun dekoration, når din funktion er i sprog SQL . Du kan bruge parametrene efter navn i lagrede procedurer defineret som language plpgsql .

Derfor skal du henvise til funktionen args ved hjælp af $X, hvor X er ordenspositionen af ​​funktionens argumentliste (startende med 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. Opdater MySQL-version fra 5.1 til 5.5 i CentOS 6.2

  2. Hvorfor tillader MySQL gruppe efter forespørgsler UDEN samlede funktioner?

  3. Find minimum ikke-brugt værdi fra samling af rækker markeret med et id og customId

  4. Få optælling af fremmed nøgle fra flere tabeller