From: | Alvar Freude <alvar(at)agi(dot)de> |
---|---|
To: | pgsql-sql(at)postgresql(dot)org |
Subject: | Returning multiple Rows from PL/pgSQL-Function |
Date: | 2001-07-09 09:53:18 |
Message-ID: | 63885762.994679598@[192.168.100.219] |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Hi,
I want to create a function (PL/pgSQL), which return multiple rows. But it
fails -- when Creating the function, I get a notice:
NOTICE: ProcedureCreate: return type 'records' is only a shell
When executing it, this error:
ERROR: fmgr_info: function 0: cache lookup failed
How should I do this?
The function is simple:
CREATE FUNCTION foo (timestamp) RETURNS SETOF records AS
'
BEGIN
RETURN SELECT * FROM table;
END;
' LANGUAGE 'plpgsql';
or, in more detail the exact function:
CREATE FUNCTION get_emotions (timestamp) RETURNS SETOF records AS
'
DECLARE
start ALIAS FOR $1;
end_id int4;
BEGIN
SELECT emotion_id FROM emotions
WHERE date <= start
LIMIT 1
INTO end_id;
RETURN SELECT emotion_id, emotion1, [...]
FROM emotions
WHERE emotion_id BETWEEN end_id-3000 AND end_id
ORDER BY date_epoch + full_rating*(3600*12)
LIMIT 300;
END;
'
LANGUAGE 'plpgsql';
Thanx for any help!
Ciao
Alvar
--
| AGI ............................................................... |
| Magirusstrasse 21B, 70469 Stuttgart . Fon +49 (0)711.228 74-50 .... |
| http://www.agi.com/diary/ (english) . http://www.agi.de/tagebuch/ . |
| >>>>>> NEWS >>> AGI holt Bronze-Loewen in Cannes! <<<<<<<<<<<<<<<<< |
From | Date | Subject | |
---|---|---|---|
Next Message | Richard Huxton | 2001-07-09 11:12:12 | Re: Returning multiple Rows from PL/pgSQL-Function |
Previous Message | Stephan Szabo | 2001-07-09 06:46:03 | Re: how can we change definition of a table once created? |