在ORACLE里,一个号码表,可以认为是从1000开始吧.
我为了让用户可以挑选号码,每次用户要用的时候推出20个号码,要不每隔5个产生一个,例如:第一次产生的号码:1000,1005,1010,1015.....,20个 要怎么写SQL呢?
还有如果不是每隔5个数字产生一个号码,而是随机的,又要怎么写呢?
谢谢了!

解决方案 »

  1.   

    产生随机数用dbms_random.value(m,n)m到n之间的随机数。
    或者dbms_random.random
      

  2.   

    你是不是要给数据库增加20条记录?
    是打算20个隔5个数字的记录,还是随机?
    用SQL 来实现???
      

  3.   

    sbaz(万神渡劫) 
    好厉害啊!
    小弟佩服阿!!!!
    期待结果,学习下~!
      

  4.   

    回 sbaz(万神渡劫)  你是不是要给数据库增加20条记录?
    是打算20个隔5个数字的记录,还是随机?
    用SQL 来实现???
    能不能2中都说下,用SQL来实现
      

  5.   

    首先说明我不是高手。
    insert into targ_table(num)
    select 1000+rn*5
    from (select rownum rn
    from usr_tab_cols  --随便找个至少有20条记录的表,其实也可以不用找表的,但那种写法我忘了。
    where rownum<=20);insert into targ_table(num)
    select 1000+rn*dbms_random.value(10,20)
    from (select rownum rn
    from usr_tab_cols 
    where rownum<=20);
      

  6.   

    usr_tab_cols 应该改为user_tab_cols,我只是随便拿了个系统表,还不知道它里面的记录是不是有20条。
    以前见别人用CONNECT BY 的方式从DUAL里面生成多条记录,只可惜忘记了。不然就不用像我这样还要去找个20条记录的表才行。duanzilin(寻)是个很厉害的人,你们不懂的可以在论坛要他来解决。最后声明:我不是高手!
      

  7.   

    sbaz(万神渡劫) 
    有没有联系方法呢?
    如果可以的话,加我的QQ或者MSN都可以,以后我可能会请教你一些问题
    谢谢
    QQ:41587577
    MSN [email protected]
      

  8.   

    QQ:99679314
    我从来没有管理过数据库,只是SQL方面知道的多一点。
    也都是在论坛上看来的。
      

  9.   

    ORACLE群,大家都加进来来谈论问题吧27120394