sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur refererar jag till namngivna parametrar i Postgres sql-funktioner?

REVIDERAD:Som påpekats i kommentarerna var det här svaret korrekt när det skrevs i början av 2012, men namngivna parametrar har stöds sedan v9.2, släppt sent 2012.

Parameternamn är bara dekoration när din funktion är i språk SQL . Du kan använda parametrarna efter namn i lagrade procedurer definierade som language plpgsql .

Följaktligen måste du hänvisa till funktionen args med $X där X är ordningspositionen för funktionens argumentlista (som börjar 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. Hur kan jag analysera JSON-sträng i PL/SQL

  2. Grupperad sammankoppling i SQL Server

  3. mySQL UPDATE-tabell baserad på SELECT (antal) av en annan tabell

  4. MySQL - bästa datatypen för enkel tid med timmar och minuter