4

PostgreSQL 9.0関数からデータセットを取得しようとしていますが、ストアドプロシージャを使用できません。

今週はPostgresを初めて使用するので、用語について説明します。

pgAdmin IIIでは、次のコマンドを入力できます。

SELECT * FROM member;

そして、次のデータ出力を受け取ります。

memberid   membername
1          Bill Smith
2          Joe Smith

次のような多くの関数(テーブル/ SETOFなど)を作成してみました。

CREATE OR REPLACE FUNCTION get_all_members()
RETURNS SET OF member AS
'select * from member;'

それらをpgAdminで実行すると(またはプログラムから呼び出すと)、次のようになります。

SELECT get_all_members()

結果:

get_all_members
member
(1, "Bill Smith")
(2, "Joe Smith")

SQLコマンドを直接入力する場合と同じように、これをFUNCTION(ストアドプロシージャ)からデータセットとして取得する方法はありますか?

あなたの助けは大歓迎です!!!

4

1 に答える 1

3

selectステートメントを少し変更して、次のように表示することで、列ごとの出力を取得できます。

SELECT * FROM get_all_members()

これにより、通常のクエリを実行するのと同じように、列ごとの出力が得られます。

ドキュメントのsetreturning関数を参照してください。

于 2012-10-28T16:33:28.167 に答える