PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Bagaimana cara mereferensikan parameter bernama dalam fungsi sql Postgres?

DIREVISI:Seperti yang ditunjukkan dalam komentar, jawaban ini akurat ketika ditulis pada awal 2012, tetapi parameter bernama telah didukung sejak v9.2, dirilis akhir 2012.

Nama parameter hanyalah hiasan ketika fungsi Anda ada di bahasa SQL . Anda dapat menggunakan parameter berdasarkan nama dalam prosedur tersimpan yang didefinisikan sebagai language plpgsql .

Akibatnya, Anda harus merujuk ke argumen fungsi menggunakan $X di mana X adalah posisi ordinal dari daftar argumen fungsi (dimulai dengan 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL + Hibernate + Spring otomatis membuat database

  2. Cara mempartisi tabel postgres menggunakan tabel perantara

  3. jumlah dan hasilkan seri tidak berfungsi di postgresql

  4. Lepaskan KUNCI Postgres secara manual

  5. Cara memisahkan teks menggunakan substring