补创建一个存储过程接受开始和结束日期作为输入参数
时间: 2024-09-06 14:03:16 浏览: 40
深入mysql存储过程中表名使用参数传入的详解
在MySQL中,你可以创建一个存储过程(Procedure),它是一个预编译的SQL脚本,可以根据传入的参数执行特定的操作。下面是创建一个接受开始和结束日期作为输入参数的存储过程的例子:
```sql
DELIMITER //
CREATE PROCEDURE GetOrgPathCountByDateRange(IN startDate DATE, IN endDate DATE)
BEGIN
SELECT bo.org_path_name, COUNT(bo.org_path_name)
FROM portal.BFM_SERV_LOG bsl
LEFT JOIN bfm_staff bs ON bs.staff_code = bsl.party_code
LEFT JOIN bfm_staff_org bso ON bso.staff_id = bs.staff_id
LEFT JOIN bfm_org bo ON bo.org_id = bso.org_id
WHERE event_code = 'MENU_OPEN'
AND bo.org_path_name LIKE '%AAA%'
AND bsl.log_date BETWEEN startDate AND endDate
AND bs.staff_code NOT IN ('wanghongya', 'admin', ..., 'cs_wujiangtao')
GROUP BY bo.org_path_name;
END; //
DELIMITER ;
```
在这个存储过程中,当你想要查询特定日期区间的数据时,只需要调用这个存储过程并传入对应的开始日期和结束日期,例如:
```sql
CALL GetOrgPathCountByDateRange('2001-12-26', '2001-12-31');
```
这将返回2001年12月26日至2001年12月31日之间的数据。
阅读全文