CREATE PROCEDURE getPatientNum( IN startTime DATETIME, -- 号源开始时间 IN endTime DATETIME, -- 号源结束时间 IN deno CHAR(20), -- 科室号 IN status CHAR(20), -- 号码状态 OUT num INT -- 返回该状态号码的数量总和)BEGIN IF (deno IS NULL) THEN SELECT COUNT(qno) INTO num FROM QueueNo WHERE startTime < @startTime AND endTime < @endTime AND status = @status AND sellout='已售'; ELSE SELECT COUNT(qno) INTO num FROM QueueNo, Clinic, Arrangement WHERE startTime < QueueNo.startTime AND QueueNo.endTime < endTime AND status = @status AND Arrangement.Arrangeno=QueueNo.Arrangeno AND Arrangement.Cno=Clinic.Cno AND deno = Clinic.Deno AND sellout='已售'; END IF;END;
时间: 2024-04-26 21:20:14 浏览: 105
react-native-timetable:ReactReact Native的时间表组件库
这是一个存储过程,名为getPatientNum,它有四个输入参数和一个输出参数。输入参数包括startTime(号源开始时间)、endTime(号源结束时间)、deno(科室号)和status(号码状态)。输出参数为num(该状态号码的数量总和)。
如果输入参数deno为NULL,则查询QueueNo表,统计符合条件的qno数量(即startTime < @startTime AND endTime < @endTime AND status = @status AND sellout='已售')并将结果存储到输出参数num中。
如果输入参数deno不为NULL,则查询QueueNo、Clinic和Arrangement表,统计符合条件的qno数量(即startTime < QueueNo.startTime AND QueueNo.endTime < endTime AND status = @status AND Arrangement.Arrangeno=QueueNo.Arrangeno AND Arrangement.Cno=Clinic.Cno AND deno = Clinic.Deno AND sellout='已售')并将结果存储到输出参数num中。
阅读全文