我的 MySQL 数据库中有一个存储过程,需要弄清楚如何限制返回以创建一些分页。
一些伪代码:
CREATE PROCEDURE `my_procedure`(IN member_id INT, IN start INT, IN end INT)
BEGIN
SELECT * FROM member_activity WHERE `member_id` = member_id
<if start is not null>
LIMIT start, end
<endif>
END;
如果我传递一个空值,我如何简单地取消限制查询?
传递my_procedure(1,null,null)
返回错误。
我知道我可以将整个查询包装在一个 IF 语句中,但我不想这样做,因为还有其他几个变量要保持同步会很烦人。是否可以在不编写整个查询两次的情况下完成此操作?
谢谢