I've mainly worked with Oracle in the past, so I need your help with this:
I'm creating the code for web based reports for a client. I need to recieve
and return a resultset.
For example I need to recieve the start date and the end date, select all
rows that match those
dates and output them. This is the code I have written that does not work.
I've been trying various ways of doing this:
CREATE FUNCTION my_test(DATE,DATE) RETURNS setof record AS '
v_permit_from ALIAS FOR $1;
v_permit_to ALIAS FOR $2;
SELECT INTO rs t.permit_id, t.date_from, t.date_to, p.person_id,
FROM permit t, person p
WHERE t.person_id = p.person_id
AND t.date_from = v_permit_from
AND t.date_to = v_permit_to
ORDER BY t.issue_date, t.date_from;
' LANGUAGE 'plpgsql'
Message when I run code above:
NOTICE: ProcedureCreate: return type 'record' is only a shell
user=> select my_test('25/10/2001','08/11/2001');
ERROR: fmgr_info: function 0: cache lookup failed
I'm pretty sure that I cannot use the return type of record, but when I try
text I get no
notice when it is created but the following:
taupo=> select my_test('25/10/2001','08/11/2001');
ERROR: Attribute 'rs' not found
I have researched both setof and PERFORM SELECT but I can't seem to find
anymore than a couple of
lines which don't help me. I notice that when you use setof you can return
a table or a row, but
I cannot find anything on returning a resultset.
Your ideas and suggestions will be most appreciated.
pgsql-novice by date
|Next:||From: Josh Berkus||Date: 2001-10-31 21:48:47|
|Subject: Re: Returning data from function|
|Previous:||From: Josh Berkus||Date: 2001-10-31 15:52:36|
|Subject: Re: DECODE|