【发布时间】:2021-02-14 18:29:53
【问题描述】:
我正在构建一个使用游标和循环的存储过程。我了解代码的工作原理,但在创建条件时遇到了麻烦。我不明白如何根据输入参数调用代码来检查某些单元格中的空值。
我的代码解释: 我正在检查会员是否有任何过期书籍。在我称为“borrowedby”的表中,有变量“MemberID”、“ReturnDate”和“BookID”。 ReturnDate 是图书归还的日期。输入参数“memberIDEN”必须等于“MemberID”并检查“ReturnDate”是否为空。如果它为空,那么我打印出 memberID 和过期的书籍。
如何创建一个条件来检查表 'borrowedby' 中的 'ReturnDate' 是否为空?
delimiter //
drop procedure if exists overdueBooks //
delimiter //
create procedure overdueBooks (in memberid INT)
begin
declare returnCheck date;
declare finished int default 0;
declare overdueList varchar (100) default "";
declare cursor_data cursor for
select MemberID
from borrowedby
where memberid = MemberID;
declare continue handler for not found set finished = 1;
open cursor_data;
get_members: loop
fetch cursor_data into overdueList;
if returnCheck is not null
then
leave get_members;
end if;
end loop get_members;
close cursor_data;
end
//
delimiter ;
【问题讨论】:
标签: mysql for-loop stored-procedures cursor procedure