CREATE PROCEDURE getpatientclaim(IN idd int) BEGIN
create temporary table spec(patient_id int,claim_id int,procedure_code int);
insert INTO spec SELECT p.patient_id,p.claim_id,p.procedure_code FROM
payment p LEFT JOIN patient_visit_cpt pvc ON p.patient_id = pvc.patient_id
WHERE p.claim_id = idd;
END
它成功创建,我试图调用这样的程序
call getpatientclaim(4963);
输出如下:
它返回了一个空的结果集。
select查询返回许多行,但在过程中它返回空。请帮忙
答案 0 :(得分:1)
添加
SELECT * FROM `spec`;
在您的程序正文结束时(END
之前)。
但你真的需要一个临时表吗?只是
CREATE PROCEDURE getpatientclaim(IN idd int) BEGIN
SELECT p.patient_id,p.claim_id,p.procedure_code
FROM payment p LEFT JOIN patient_visit_cpt pvc ON p.patient_id = pvc.patient_id
WHERE p.claim_id = idd;
END
会产生相同的结果。 (在这种情况下,VIEW
可能更合适。)