在数据库操作中,经常有一些这样的操作:插入诺干条测试数据、查询这个月的登录情况(没有登录的日期不能不存在,要显示数量为0),获取诺干条guid。
这些的基础都是怎么生成连续的一串数字 1 2 3 4 ……………… 100000。
在oracle中,我们使用start with connect by
select rownum from dual start with rownum = 1 connect by rownum <= 100000
在sqlserver中,由于没有现成的语法,我们可以采用cte
with test as ( select 1 rn union all select test.rn + 1 rn from test where test.rn <= 100000 )select rn from test
关于语法部分这里就不详细解释了,相关文档铺天盖地。