Przekaż tablicę literał zamiast konstruktora tablicy. Wartość można przekazać jako literał ciągu , następnie jest przywoływany do odpowiedniego typu przez Postgres:
SELECT some_updates('{"(488, 2019-07-01 00:00:00,342)"}');
Warunek wstępny:funkcja nie jest "przeciążona", więc rozdzielczość typu funkcji jest jednoznaczna z niewpisanymi danymi wejściowymi.
Powiązane:
- Jak przekazać niestandardową tablicę typów do funkcji Postgresa
- Przekazywanie tablicy typu niestandardowego do funkcji postgres z węzła node-pg i wstrzyknięcia SQL
- Czy istnieje sposób na wyłączenie przeciążania funkcji w Postgresie ?
Jeśli masz mniej niż 100 elementów tablicy, VARIADIC
funkcja pomogłaby uprościć przekazywanie argumentów:
CREATE FUNCTION some_updates(VARIADIC t test[]) ...
Następnie przekaż literały wiersza, takie jak:
SELECT some_updates('(488, 2019-07-01 00:00:00,342)'
, '(489, 2019-07-02 00:00:00,343)')
Zobacz:
Jeśli masz (wiele) więcej wierszy do przekazania, rozważ zapisanie ich do (tymczasowej) tabeli za pomocą zwykłego INSERT
i przetwarzać je stamtąd.