| From: | Heiko Stoermer <heiko(dot)stoermer(at)login-solutions(dot)de> | 
|---|---|
| To: | pgsql-sql(at)postgresql(dot)org | 
| Subject: | Stored procedure returning row or resultset | 
| Date: | 2002-10-14 14:22:54 | 
| Message-ID: | 200210141622.54638.heiko.stoermer@login-solutions.de | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-sql | 
Hello,
I'm trying to achieve the following with pl/pgsql in postgres 7.2:
I need a stored procedure proc() that calculates values for some fields
a = f1()
b = a + f2()
c = b + f3()
and returns the tuple (a,b,c) as a rowtype,
so that "select proc()" produces a "normal" resultset that can be used in an 
application.
I know of course that I could write out
SELECT
(f1()) AS a
(f1() + f()) AS b
(f1() + f2() + f3()) AS c ...
in plain SQL and create a view on that, but the problem is that f1(), f2(), 
f3() are complex and expensive computations that I want to run only once. In 
the example I would call f1() three times, which is inacceptable.
Is there a way to accomplish this? I have tried around quite a bit, but I 
cannot find out the correct syntax .
Thank you,
Heiko Stoermer
-- 
Heiko Stoermer
Diplom-Informatiker (FH)             Login & Solutions AG
Tel.: +49-821-2488-0                 http://www.login-solutions.de
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Richard Huxton | 2002-10-14 15:05:03 | Re: Stored procedure returning row or resultset | 
| Previous Message | Stephan Szabo | 2002-10-12 14:57:39 | Re: DELETE command is getting blocked |