passing a list to a function and returning a recordset
Marie G. Tuite <marie.tuite@edisonaffiliates.com>
From: "Marie G. Tuite" <marie.tuite@edisonaffiliates.com>
To: <pgsql-sql@postgresql.org>
Date: 2002-06-03T21:14:03Z
Lists: pgsql-sql
I have the following function. The function is called by:
fn_grd_students('(1,2,3,4)','(5,6,7,8)');
I want to pass two lists, do a select based on these lists and return a
recordset to the caller.
And it doesn't work...
Any help would be appreciated.
Thanks.
create or replace function fn_grd_students(text,text)
returns refcursor as
'
declare
-- in params
student_list_in alias for $1;
assign_list_in alias for $2;
-- local var
rc refcursor;
begin
execute ''open rc for select b.user_id,
b.grd_assignment_id,
a.last_name,
b.grd_grade_id,
c.grade_desc,
c.grade_value
from
user_common a,
grd_student_grades b,
grd_grades c
where
b.user_id = a.user_id
and b.grd_assignment_id in '' || assign_list_in ||
'' and b.grd_grade_id = c.grd_grade_id and '' ||
'' a.user_id in '' || student_list_in
;
return rc;
end;
'
language 'plpgsql'
;