2010年11月16日

[pgsql-jp: 40532]ストアドでのOUTパラメーター複数受け渡し

はじめまして。田中と申します。
現在PL/PGSQLにて開発を行っておりますが、OUTパラメーターの受け渡し方が理解で
きず、質問させて頂きます。

やりたい事は、メイン関数で使っているテーブル型の変数をそのままサブ関数に渡
し、
サブ関数側で必要な値を代入させてメインに戻す、という事です。
テーブル関数1つのみで受け渡すと問題ないようですが、同時に他の値もOUTパラメー

ターで受け渡そうとするとエラーとなります。
PostgresSQLのバージョンは8.4.4です。

以下、テーブル構成とメイン関数、サブ関数のソースです。
CREATE TABLE tab1
(
col1integer,
col2 integer
)

?メイン関数
DECLARE
hensu1 integer;
tb tab1%rowtype;
BEGIN
select * into tb,hensu1 from sub_func(tb);
END;

?サブ関数
CREATE OR REPLACE FUNCTION sub_func(INOUT io_tb tab1, OUT o_hensu1 integer)
RETURNS record AS
BEGIN
io_tb.col1:=1;
io_tb.col2:=2;
o_hensu1:=100;
END;

実行すると、「型integerの入力構文が無効です…」のエラーが発生します。
どなたかご指導仰げませんでしょうか。宜しくお願い致します。


投稿者 xml-rpc : 2010年11月16日 13:12
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/99938
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。