2017-06-05 68 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或在函數的底端退出。