Przy bliższym przyjrzeniu się:wystarczy podzielić typ złożonego zwrotu w następujący sposób:
CREATE OR REPLACE VIEW "Sumario" AS
SELECT ...
(conta_relatos("Fatores"."ID", "Fatores_1"."ID")).*
FROM ...
Szczegóły dotyczące dostępu do typów złożonych w podręczniku.
Na marginesie:radziłbym nie używać nawiasów dla swoich JOIN, chyba że wiesz dokładnie, co robisz. Tak jak to masz, wymuszasz jeden konkretny plan wykonania. Są szanse, że nie jest najlepszy.
Pierwsze podejście błędnie zinterpretowało komunikat o błędzie
Kiedy definiujesz funkcję za pomocą RETURNS record
(którego unikam, jeśli to możliwe), przy każdym wywołaniu musisz podać listę definicji kolumn, na przykład:
SELECT * FROM conta_relatos(1,2) AS f(col1 int, col2 text, ...)
Cytuję instrukcję tutaj :
Czystym rozwiązaniem jest zmiana funkcji tak, aby zwracała dobrze znany typ zamiast anonimowego rekordu. W zależności od okoliczności można to zrobić na różne sposoby. Jeśli masz problem z przepisaniem funkcji, otwórz kolejne pytanie.