Send et array bogstaveligt i stedet for en array-konstruktør. Værdien kan overføres som streng literal , så er det tvunget til den rigtige type af Postgres:
SELECT some_updates('{"(488, 2019-07-01 00:00:00,342)"}');
Forudsætning:funktionen er ikke "overbelastet", så funktionstypeopløsningen er entydig med ikke-typet input.
Relateret:
- Sådan sender du tilpasset type-array til Postgres-funktionen
- Overførsel af array af tilpasset type til postgres-funktion fra node-pg og SQL-injektion
- Er der en måde at deaktivere funktionsoverbelastning i Postgres
Hvis du har færre end 100 array-elementer, en VARIADIC
funktion ville hjælpe med at forenkle videregivelse af argumenter:
CREATE FUNCTION some_updates(VARIADIC t test[]) ...
Send derefter række bogstaver som:
SELECT some_updates('(488, 2019-07-01 00:00:00,342)'
, '(489, 2019-07-02 00:00:00,343)')
Se:
Hvis du har (mange) flere rækker at videregive, kan du overveje at skrive dem til en (midlertidig) tabel med en almindelig INSERT
og behandle dem derfra.