現在、2 つのテーブルがあります。
tblFoo
foo_id foo_text
1 foo
と
tblBar
bar_id foo_id bar_text
100 1 hello
101 1 world
関数を使用してポリモーフィックな行の型を返そうとしています。
CREATE OR REPLACE FUNCTION fetch_foo(p_foo_id int) RETURNS record as $$
DECLARE
rec record;
BEGIN
SELECT
F.foo_id,
foo_text,
array_agg(bar_text) as bar_text
FROM tblFoo F
LEFT JOIN tblBar B
ON F.foo_id = B.foo_id
WHERE F.foo_id = p_foo_id
GROUP BY F.foo_id
INTO rec;
RETURN rec;
END
$$ LANGUAGE plpgsql;
現在、これは の「fetch_foo」と呼ばれる単一の連結フィールドを返してい(1,"foo","{hello,world}")
ます。Return multiple fields as a record in PostgreSQL with PL/pgSQLの返信を読み、個別のフィールドを持つレコードを返すためにここで型を作成する必要がないことを理解しました。私は何を見落としていますか?
ありがとう。