我正在做一个创建大学录取制度的项目;这些技术是
Java和Oracle.
在其中一个表中,存储了预生成的序列号.后来,针对这些序列号,将输入申请人的表格数据.我的要求是,入场过程完成后,我必须生成一份很明智的报告.如果在喂食预生成的序列号期间,任何序列号丢失.
例如,如表所示,序列号是7001,7002,7004,7005,7006,7010.
从上述系列中可以清楚的是,从7001到7010,缺少的数字是7003,7007,7008和7009
Oracle中是否有可用的DBMS功能来找出这些数字,或者任何存储过程可能达到我的目的,那么请提出一个算法.
我可以在Java中找到一些技术,但是我想要在Oracle中找到解决方案.
解决方法
没有硬编码的解决方案9:
select min_a - 1 + level from ( select min(a) min_a,max(a) max_a from test1 ) connect by level <= max_a - min_a + 1 minus select a from test1
结果:
MIN_A-1+LEVEL ------------- 7003 7007 7008 7009 4 rows selected.