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

Melewati banyak nilai dalam parameter tunggal

Fungsi Anda tidak akan dibuat. RETURN setelah end adalah omong kosong sintaksis.

Apa pun itu, fungsi dengan VARIADIC parameter tidak tepat apa yang Anda minta:

CREATE OR REPLACE FUNCTION test_function(VARIADIC varchar[])
 RETURNS SETOF integer AS
$func$
SELECT column2
FROM   test_table
WHERE  column1 = ANY($1);
$func$  LANGUAGE sql;

Telepon (sesuai keinginan):

SELECT * FROM test_function('data1', 'data2', 'data3');

Menggunakan fungsi SQL sederhana, plpgsql tidak diperlukan untuk contoh sederhana. Tapi VARIADIC bekerja untuk fungsi plpgsql juga.

Menggunakan RETURNS SETOF integer karena ini jelas dapat mengembalikan beberapa baris.

Detail:

  • Meneruskan beberapa nilai dalam satu parameter
  • Mengembalikan baris yang cocok dengan elemen larik masukan dalam fungsi plpgsql
  • Parameter VARIADIC harus menjadi parameter masukan terakhir
  • Mengembalikan baris yang cocok dengan elemen larik masukan dalam fungsi plpgsql

SQL Fiddle demo dengan parameter tambahan.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cbrt() Bekerja di PostgreSQL

  2. Pengujian Otomatis dari Proses Peningkatan untuk PostgreSQL

  3. Kiat untuk Mengelola PostgreSQL dari Jarak Jauh

  4. Menghubungkan ke Postgresql dalam wadah buruh pelabuhan dari luar

  5. Apakah ada cara untuk memuat data teks ke database di PostgreSQL?