関数 foobar を保存したとします。
create or replace function foobar(
out p_foo varchar,
out p_bar varchar
)
returns record as $func$
begin
p_foo := 'foo';
p_bar := 'bar';
end;
$func$ language plpgsql;
ecpg プログラムからこの関数を呼び出す慣用的な方法は何ですか? 私がこれまでに見つけた最高のものは
EXEC SQL SELECT (foobar()).p_foo, (foobar()).p_bar into :foo,:bar;
また
EXEC SQL SELECT (y).p_foo, (y).p_bar into :foo,:bar from (select foobar() y) x;
しかし、これはかなり不器用に思えます。