我使用Postgres9.5。我有一个示例,它成功地将游标的结果作为字符串(行的连接)返回: 这是一个例子:
CREATE OR REPLACE FUNCTION get_doctor_appoint()
RETURNS TEXT AS $$
DECLARE
Names TEXT DEfault '';
rec_appoint RECORD;
doctor_appoint cursor
FOR SELECT * FROM appointments
where doctorAMKA = (SELECT doctoramka FROM doctor WHERE username='foo@bar.net')
AND t>'2017-4-6 00:00:00' AND t<'2017-5-6 00:00:00';
BEGIN
OPEN doctor_appoint;
LOOP
FETCH doctor_appoint INTO rec_appoint;
EXIT WHEN NOT FOUND;
Names:=Names||','||rec_appoint.t||':'||rec_appoint.patientamka;
END LOOP;
CLOSE doctor_appoint;
RETURN Names;
END; $$
LANGUAGE plpgsql;
我想将结果作为表格返回,但是没有找到这样做的例子。
答案 0 :(得分:1)
您将该函数声明为RETURNS SETOF text
。
对于您要返回的每一行,请使用RETURN NEXT text_value;
。
要结束功能执行,请使用RETURN
或退出功能的底端。