2017-06-05 17 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を使用するか、関数の最後にドロップアウトします。

関連する問題