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.