Lihat:http://www.postgresql.org/docs/9.1/static/arrays.html
Jika driver non-asli Anda masih tidak mengizinkan Anda meneruskan array, Anda dapat:
-
meneruskan representasi string dari sebuah array (yang kemudian dapat diurai oleh prosedur tersimpan Anda menjadi sebuah array -- lihat
string_to_array
)CREATE FUNCTION my_method(TEXT) RETURNS VOID AS $$ DECLARE ids INT[]; BEGIN ids = string_to_array($1,','); ... END $$ LANGUAGE plpgsql;
lalu
SELECT my_method(:1)
dengan :1 =
'1,2,3,4'
-
mengandalkan Postgres sendiri untuk melakukan cast dari string ke array
CREATE FUNCTION my_method(INT[]) RETURNS VOID AS $$ ... END $$ LANGUAGE plpgsql;
lalu
SELECT my_method('{1,2,3,4}')
-
memilih untuk tidak menggunakan variabel bind dan mengeluarkan string perintah eksplisit dengan semua parameter yang dijabarkan sebagai gantinya (pastikan untuk memvalidasi atau menghindari semua parameter yang datang dari luar untuk menghindari serangan injeksi SQL.)
CREATE FUNCTION my_method(INT[]) RETURNS VOID AS $$ ... END $$ LANGUAGE plpgsql;
lalu
SELECT my_method(ARRAY [1,2,3,4])