2017-06-05 74 views
0

我使用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='[email protected]') 
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

您声明函数为RETURNS SETOF text

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

要结束函数执行,请使用RETURN或在函数的底端退出。