table:
--duedate timestamp
--submissiondate timestamp
--blocksreq numeric
--file clob
--email varchar2(60)
每个条目都是一个文件,需要 blocksreq 来完成。每天分配 8 个区块(但可以稍后修改)。在我插入表格之前,我想确保在 NOW() 和 @duedate 的时间范围内有足够的块来完成它
我正在考虑以下内容,但我认为我做错了:
R1 = select DAY(), @blocksperday - sum(blocksreq) as free
from table
where @duedate between NOW() and @duedate
group by DAY()
order by DAY() desc
R2 = select sum(a.free) from R1 as a;
if(R2[0] <= @blocksreq){ insert into table; }
请原谅部分伪代码。
SQL FIDDLE: http ://sqlfiddle.com/#!2/5bda5
警告:我的 sql fiddle 有垃圾代码......因为我不知道如何制作很多测试用例。也不将到期日期设置为 NOW()+5 天