sql >> Database teknologi >  >> RDS >> PostgreSQL

Kald en funktion med sammensat type som argument fra native forespørgsel i jpa

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:

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.




  1. Få varighed som tidsstempelforskel for gentagne placeringsændringer

  2. Skriv hurtig panda-dataramme til postgres

  3. HAS_DBACCESS() – Find ud af, om en bruger kan få adgang til en database i SQL Server

  4. Overvåg nye data i MySQL-tabel