Re: passing a list to a function and returning a recordset
От | Marie G. Tuite |
---|---|
Тема | Re: passing a list to a function and returning a recordset |
Дата | |
Msg-id | IGELKLINGDMODABPOOFEGEDHCDAA.marie.tuite@edisonaffiliates.com обсуждение исходный текст |
Ответ на | passing a list to a function and returning a recordset ("Marie G. Tuite" <marie.tuite@edisonaffiliates.com>) |
Список | pgsql-sql |
Realised my error, should have been using open for execute. > -----Original Message----- > From: pgsql-sql-owner@postgresql.org > [mailto:pgsql-sql-owner@postgresql.org]On Behalf Of Marie G. Tuite > Sent: Monday, June 03, 2002 4:43 PM > To: pgsql-sql@postgresql.org > Subject: [SQL] passing a list to a function and returning a recordset > > > 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' > ; > > > > ---------------------------(end of broadcast)--------------------------- > TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org >
В списке pgsql-sql по дате отправления: