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

Postgres Buat Tampilan Dengan Fungsi Jenis Rekaman

Pada pemeriksaan lebih dekat:Anda hanya perlu membagi tipe pengembalian komposit seperti ini:

CREATE OR REPLACE VIEW "Sumario" AS 
SELECT ...
 (conta_relatos("Fatores"."ID", "Fatores_1"."ID")).*
FROM ...

Detail tentang mengakses jenis komposit dalam manual.

Sebagai tambahan:Saya akan menyarankan untuk tidak menggunakan tanda kurung untuk GABUNG Anda kecuali Anda tahu persis apa yang Anda lakukan. Cara Anda memilikinya, Anda memaksa satu rencana eksekusi tertentu. Kemungkinannya, itu bukan yang terbaik.

Pendekatan pertama salah mengartikan pesan kesalahan

Saat Anda mendefinisikan fungsi dengan RETURNS record (yang saya hindari bila memungkinkan), Anda harus memberikan daftar definisi kolom dengan setiap panggilan, seperti:

SELECT * FROM conta_relatos(1,2) AS f(col1 int, col2 text, ...)

Saya mengutip manualnya di sini :

Solusi bersihnya adalah mengubah fungsi Anda untuk mengembalikan tipe terkenal bukannya catatan anonim. Ada berbagai cara untuk melakukannya, tergantung pada situasinya. Jika Anda kesulitan menulis ulang fungsi Anda, buka pertanyaan lain.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tampilkan semua nama database

  2. Apakah mungkin menggunakan variabel dan tidak menentukan tipe pengembalian di postgreSQL?

  3. Merancang database dengan data sensor berkala

  4. Cara Mendaftar Semua Tampilan di Database PostgreSQL

  5. PostgreSQL:batasan unik atau indeks unik