将游标的结果作为表返回

时间:2017-06-05 12:51:15

标签: postgresql

我使用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;

我想将结果作为表格返回,但是没有找到这样做的例子。

1 个答案:

答案 0 :(得分:1)

您将该函数声明为RETURNS SETOF text

对于您要返回的每一行,请使用RETURN NEXT text_value;

要结束功能执行,请使用RETURN或退出功能的底端。