Postgresql &引用;错误:查询没有结果数据的目标;返回集合时
我对此函数有问题: 我得到的错误是错误:查询没有结果数据的目标 我做错了什么Postgresql &引用;错误:查询没有结果数据的目标;返回集合时,postgresql,Postgresql,我对此函数有问题: 我得到的错误是错误:查询没有结果数据的目标 我做错了什么 CREATE OR REPLACE FUNCTION list_top_Patients_Visit() RETURNS SETOF PatientsList AS $$ DECLARE _Pat_Number visit.Pat_Number%type; _Patient_Name patient.NAme%type; _Doc_Number doctor.Doc_Number%type; _Doc_Name d
CREATE OR REPLACE FUNCTION list_top_Patients_Visit()
RETURNS SETOF PatientsList AS $$
DECLARE
_Pat_Number visit.Pat_Number%type;
_Patient_Name patient.NAme%type;
_Doc_Number doctor.Doc_Number%type;
_Doc_Name doctor.Name%type;
_Specialty doctor.Specialty%type;
_Total_visit INTEGER;
_Total_price visit.Price%type;
_Max_price visit.Price%type;
BEGIN
FOR _Pat_Number, _Total_visit IN (
SELECT v.pat_number _Pat_Number, count((v.pat_number)) _Total_visit
FROM visit v, patient p
GROUP BY v.pat_number, p.Name
ORDER BY _Total_visit DESC, v.pat_number
LIMIT 5)
LOOP
SELECT count((visit.pat_number)) _Total_visit, patient.Name _Patient_Name, visit.doc_number _Doc_Number, count((visit.doc_number)) max_metge, sum(visit.price) _Total_price, max(visit.price) _Max_price, doctor.name _Doc_Name, doctor.specialty _Specialty
FROM visit, doctor, patient
WHERE visit.pat_number=_Pat_Number and visit.doc_number=doctor.doc_number and patient.pat_number=_Pat_Number
GROUP BY visit.doc_number, doctor.name, specialty, patient.Name
ORDER BY max_metge DESC, visit.doc_number
LIMIT 1;
RETURN NEXT _Patient_Name, _Doc_Name, _Specialty, _Total_visit, _Total_price, _Max_price;
END LOOP;
END;
$$LANGUAGE plpgsql;
您必须使用
选择。。。进入…
以从查询中设置PL/PgSQL中的变量
选择
而不将插入
是不允许的。如果要放弃结果,请改用PERFORM
。如果希望将结果存储在变量中,请使用SELECT。。。进入…
。有关详细信息,请参阅手册
在这种情况下,您可以使用
RETURN NEXT QUERY SELECT…
代替单独的SELECT
和RETURN
步骤。您必须使用SELECT。。。进入…
以从查询中设置PL/PgSQL中的变量
选择
而不将插入
是不允许的。如果要放弃结果,请改用PERFORM
。如果希望将结果存储在变量中,请使用SELECT。。。进入…
。有关详细信息,请参阅手册
在这种情况下,您可以使用returnnextqueryselect…
而不是单独的SELECT
和RETURN
步骤