[pgsql-jp: 26580] Re: PL/pgSQLで関数を作成したい

羽生 章洋 habu @ air-beat.com
2002年 7月 5日 (金) 11:23:59 JST


羽生と申します。

# 私も、IB6やOracleなどで作成したストプロのPL/pgSQLへの
    移行を進めている最中です。

まずPL/pgSQLで複数行を返すには、7.2以降を使う必要があります。
ですから、バージョンを上げていただくことになります。

7.2では、非常に簡単な例ですが、このように記述することで
複数行を返すことが出来ます。

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

戻り値にカーソルを指定することがポイントです。
キーワードはカーソルです。カーソルでマニュアルを見てみてください。

時間が無いのでサンプルを作成できなくて申し訳ないのですが、
これを参考にして、もう一度ポーティングに挑戦してみてください。
頑張ってくださいね(^^)


================================================================
★ワクワク音楽体験サイト それが【エア・ビート・ドットコム】!★
================================================================
有限会社エア・ビート(http://www.air-beat.com/)
取締役兼CEO 羽生 章洋(mailto:habu @ air-beat.com)
================================================================



pgsql-jp メーリングリストの案内