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

Tipe pengembalian fungsi SQL:TABLE vs catatan SETOF

Saat mengembalikan SETOF record kolom output tidak diketik dan tidak diberi nama. Dengan demikian formulir ini tidak dapat digunakan secara langsung dalam klausa FROM seolah-olah itu adalah subquery atau tabel.

Yaitu, saat menerbitkan:

SELECT * from events_by_type_2('social');

kami mendapatkan kesalahan ini:

Itu dapat "dicor" ke dalam tipe kolom yang benar oleh pemanggil SQL. Formulir ini berfungsi:

SELECT * from events_by_type_2('social') as (id bigint, name text);

dan menghasilkan:

 id |      name      
----+----------------
  1 | Dance Party
  2 | Happy Hour
 ...

Untuk alasan ini SETOF record dianggap kurang praktis. Ini harus digunakan hanya jika jenis kolom hasil tidak diketahui sebelumnya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL - relasi [tabel] tidak ada

  2. PGError:tidak ada koneksi ke server setelah idle

  3. PostgreSQL membuat kolom baru dengan nilai yang dikondisikan pada kolom lain

  4. Batasi hubungan kunci asing ke baris subtipe terkait

  5. Postgresql, pilih bidang kosong