PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Panggil fungsi dengan tipe komposit sebagai argumen dari kueri asli di jpa

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:

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.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tunggu beberapa koneksi db sebelum memulai server ekspres?

  2. Bagaimana cara alami bergabung dengan dua kueri dengan klausa?

  3. Persentase total di PostgreSQL tanpa subquery

  4. Peningkatan otomatis di liquibase

  5. Postgres:Berbeda tetapi hanya untuk satu kolom