PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Тип връщане на SQL функция:TABLE срещу SETOF записи

При връщане на SETOF record изходните колони не са въведени и не са именувани. Следователно този формуляр не може да се използва директно в клауза FROM, сякаш е подзаявка или таблица.

Тоест при издаване:

SELECT * from events_by_type_2('social');

получаваме тази грешка:

Въпреки това, той може да бъде "прехвърлен" в правилните типове колони от SQL повикващия. Този формуляр работи:

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

и води до:

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

Поради тази причина SETOF record се счита за по-малко практично. Трябва да се използва само когато типовете колони на резултатите не са известни предварително.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. AWS RDS Postgresql Pgadmin - Сървърът не слуша

  2. Грешка във формата на датата в Postgresql

  3. Извличане на публикации от неблокиращи потребители

  4. Пълнотекстово търсене на PostgreSQL и объркване на триграма

  5. Нуждаете се от SQL оптимизация (може би DISTINCT ON е причината?)