[pgsql-jp: 30987] Re: 複合型を使ったPL/pgSQL 関数について

Mizuno Hiroya mizunoh @ ho.chuden-cs.co.jp
2003年 9月 8日 (月) 10:03:24 JST


質問者の水野です。

質問を投げかけたにも関わらず、その後数日間
端末が使える環境におらず、ご返事が遅れてしまいました。

北村さんの以下のコードを元に作り直したところ、
やっと動くようになりました。

>CREATE OR REPLACE FUNCTION fnc_2()
>(snip)
> FOR emp_record IN SELECT * FROM EMP LOOP
>  -- EMP の1行を fnc_1 に渡して結果を result に。
>  select fnc_1(ee) into result
>   from EMP ee where ee.col1 = emp_record.col1;
> END LOOP;
>(以下略)
>
>としてみてはどうでしょう?

しかし、この方法だと同じレコードを2度読み込む事になりませんか?
その場合、レコード件数次第では、レスポンスに影響もあるのでは?

>関数をかなり省略してご質問されているようで、何がしたいのかわ
>からないです。内容を公開できないのかな?という事情は解ります
>が、まともな答えは期待できないと思いますよ。

既存のオラクル版プロシージャを書き換えております。
その中で、「EMP%ROWTYPE」って感じで引数の受け渡し多様しており、
その部分を、どう書き換えてよいものかと思った次第です。
またメインプロシージャから、複数のサブプロシージャに
レコードを渡しているので、よりレスポンスが気になっております。



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