Lewati larik literal alih-alih konstruktor array. Nilai dapat diteruskan sebagai string literal , kemudian dipaksa ke jenis yang tepat oleh Postgres:
SELECT some_updates('{"(488, 2019-07-01 00:00:00,342)"}');
Prasyarat:fungsi tersebut tidak "terbebani berlebihan" sehingga resolusi tipe fungsi tidak ambigu dengan input yang tidak diketik.
Terkait:
- Cara meneruskan array tipe khusus ke fungsi Postgres
- Meneruskan array tipe kustom ke fungsi postgres dari node-pg dan injeksi SQL
- Apakah ada cara untuk menonaktifkan fungsi yang berlebihan di Postgres
Jika Anda memiliki kurang dari 100 elemen array, sebuah VARIADIC
fungsi akan membantu menyederhanakan argumen yang lewat:
CREATE FUNCTION some_updates(VARIADIC t test[]) ...
Kemudian berikan literal baris seperti:
SELECT some_updates('(488, 2019-07-01 00:00:00,342)'
, '(489, 2019-07-02 00:00:00,343)')
Lihat:
Jika Anda memiliki (banyak) baris lagi untuk dilewati, pertimbangkan untuk menuliskannya ke tabel (sementara) dengan INSERT
biasa dan memprosesnya dari sana.