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

Bagaimana cara meneruskan array tipe khusus ke fungsi Postgres

Anda dapat menggunakan sintaks alternatif dengan literal array alih-alih konstruktor array, yang merupakan konstruksi mirip fungsi Postgres dan dapat menyebabkan masalah saat Anda harus meneruskan nilai - seperti dalam pernyataan yang disiapkan:

SELECT myschema.myfunc('0d6311cc-0d74-4a32-8cf9-87835651e1ee'
                  , '{"(0d6311cc-0d74-4a32-8cf9-87835651e1ee, 25)"
                    , "(6449fb3b-844e-440e-8973-31eb6bbefc81, 10)"}'::mytype[]);

Saya menambahkan jeda baris antara dua jenis baris dalam array untuk ditampilkan. Itu sah.

Cara menemukan sintaks yang benar untuk apa saja harfiah?

Tanyakan saja pada Postgres. Ini demonya:

CREATE TABLE mytype (id uuid, amount numeric(13,4));

INSERT INTO mytype VALUES
  ('0d6311cc-0d74-4a32-8cf9-87835651e1ee', 25)
 ,('6449fb3b-844e-440e-8973-31eb6bbefc81', 10);

SELECT ARRAY(SELECT m FROM mytype m);

Pengembalian:

{"(0d6311cc-0d74-4a32-8cf9-87835651e1ee,25.0000)","(6449fb3b-844e-440e-8973-31eb6bbefc81,10.0000)"}

db<>main biola di sini

Tabel apa pun (termasuk tabel sementara) secara implisit membuat tipe baris dengan nama yang sama.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ubah karakter Unicode yang lolos kembali ke karakter sebenarnya di PostgreSQL

  2. Cara Memilih Catatan dari 24 Jam Terakhir di PostgreSQL

  3. Rencana Kueri Postgres mengapa estimasi Baris sangat salah

  4. Di Rails, Tidak dapat membuat database untuk {adapter=>postgresql,

  5. Cara Mendekode Log Kesalahan PostgreSQL