sql >> Databáze >  >> RDS >> PostgreSQL

Postgres Vytvořit pohled s funkcí typu záznamu

Při bližším prozkoumání:Musíte pouze rozdělit složený návratový typ takto:

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

Podrobnosti o přístupu ke složeným typům v příručce.

Na okraj:Doporučuji nepoužívat závorky pro vaše JOINy, pokud přesně nevíte, co děláte. Jak to máte, vynucujete si jeden konkrétní plán provádění. Je pravděpodobné, že to není nejlepší.

První přístup chybně vyložil chybovou zprávu

Když definujete funkci pomocí RETURNS record (čemuž se vyhýbám, když je to možné), musíte při každém volání poskytnout seznam definic sloupců, například:

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

Cituji příručku zde :

Čistým řešením je změnit funkci tak, aby vracela dobře známý typ místo anonymního záznamu. Existují různé způsoby, jak toho dosáhnout, v závislosti na okolnostech. Pokud máte potíže s přepsáním vaší funkce, otevřete další otázku.




  1. transakce mysql v asp.net?

  2. Ve výchozím nastavení emacs zvýrazňuje syntaxi postgresql

  3. Výhoda výkonu MySQL Enum?

  4. Typy dat SQL:5 nejhorších možností, které musíte zastavit ještě dnes