PostgreSQL

このエントリーをはてなブックマークに追加
316nobodyさん
7.2からPL/pgSQLで、REFCURSOR使えるから複数行を戻り値にできるっていうので
試してみたんだけど、これって作成した関数を普通のSELECTで使えないものなの?
サンプルだとわざわざFETCHしてるし。やりたいのは

CREATE OR REPLACE FUNCTION gethoge(int4)
RETURNS REFCURSOR AS '
DECLARE
ret REFCURSOR;
BEGIN
OPEN ret FOR SELECT * FROM hoge WHERE c1 > $1;
RETURN ret;
END;
' LANGUAGE plpgsql;

SELECT gethoge(4);

ってしたら複数行返してくれると嬉しいんだけど。SQL関数のSETOF使うと
妙にキャストしないと駄目だし。誰か詳しい人情報きぼんぬ。