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

Postgres Създаване на изглед с функция тип запис

При по-внимателно разглеждане:Трябва само да разделите съставния тип връщане по този начин:

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

Подробности за достъпа до съставни типове в ръководството.

Като настрана:бих ви посъветвал да не използвате скоби за вашите JOIN, освен ако не знаете точно какво правите. Начинът, по който го имате, вие налагате един конкретен план за изпълнение. Вероятно не е най-добрият.

Първият подход изтълкува погрешно съобщението за грешка

Когато дефинирате функция с RETURNS record (което избягвам, когато е възможно), трябва да предоставите списък с дефиниции на колони с всяко извикване, като:

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

Цитирам ръководството тук :

Чистото решение е да промените функцията си така, че да връща добре познат тип вместо анонимен запис. Има различни начини за това в зависимост от обстоятелствата. Ако имате проблеми с пренаписването на вашата функция, отворете друг въпрос.




  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 създават ли се наново всеки път, когато бъдат запитвани?

  2. NOT NULL ограничение върху набор от колони

  3. миграция от sqlite към postgresql в django

  4. Django моделира един външен ключ към много таблици

  5. Как мога да използвам курсори от страната на сървъра с django и psycopg2?