最近の更新

2012年7月24日火曜日

PostgreSQのストアドファンクション(PL-pgSQL)でテーブル型を複数レコード返す方法(FOR-IN(query)-LOOP文)

【目的】
PostgreSQLのストアドファンクション(PL/pgSQL)でテーブル型をFOR-IN(query)-LOOP文で複数レコード返します。



【手順1】
1.「PostgreSQのストアドファンクション(PL-pgSQL)の作成方法」の手順で、ストアドファンクション(PL/pgSQL)を作成。
2.SQLは以下の内容。
CREATE OR REPLACE FUNCTION FunctionSample026() RETURNS SETOF Mst_Company AS $$
DECLARE
    lRecord Mst_Company%ROWTYPE;
BEGIN
    
    FOR lRecord IN SELECT CompanyID, CompanyName FROM Mst_Company LOOP
        RETURN NEXT lRecord;
    END LOOP;

    RETURN;
END;
$$ LANGUAGE plpgsql;

3.実行ボタンをクリック。
4.以下の様に、ウィンドウ下の実行結果にエラーが出力されなければ成功です。




【手順2】
1.「PostgreSQのストアドファンクション(PL-pgSQL)の実行方法」の手順で、ストアドファンクション(PL/pgSQL)を実行。
2.SQLは以下の内容。
SELECT * FROM FunctionSample026();

3.実行ボタンをクリック。
4.以下の様に、ウィンドウ下に結果が取得されれば成功です。


























以上です。

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。

関連記事