<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    zhyiwww
    用平實(shí)的筆,記錄編程路上的點(diǎn)點(diǎn)滴滴………
    posts - 536,comments - 394,trackbacks - 0

    ORACLE 里面怎么實(shí)現(xiàn)隨機(jī)循環(huán)?(網(wǎng)上收集整理)

    你是不是想模擬一些隨機(jī)的測試數(shù)據(jù)
    我提供一個(gè)不錯(cuò)的腳本給你
    create or replace procedure gen_data( p_tname in varchar2, p_records in number )
    authid current_user
    as
    ? ? l_insert long;
    ? ? l_rows? ?number default 0;
    begin

    ? ? dbms_application_info.set_client_info( 'gen_data ' || p_tname );
    ? ? l_insert := 'insert /*+ append */ into ' || p_tname ||
    ? ?? ?? ?? ?? ? ' select ';

    ? ? for x in ( select data_type, data_length,
    ? ?? ?? ?? ?? ? nvl(rpad(
    '9',data_precision,'9')/power(10,data_scale),9999999999) maxval
    ? ?? ?? ?? ?? ???from user_tab_columns
    ? ?? ?? ?? ?? ? where table_name = upper(p_tname)
    ? ?? ?? ?? ?? ? order by column_id )
    ? ? loop
    ? ?? ???if ( x.data_type in ('NUMBER', 'FLOAT' ))
    ? ?? ???then
    ? ?? ?? ?? ?l_insert := l_insert || 'dbms_random.value(1,' || x.maxval || '),';
    ? ?? ???elsif ( x.data_type = 'DATE' )
    ? ?? ???then
    ? ?? ?? ?? ?l_insert := l_insert ||
    ? ?? ?? ?? ?? ?? ?'sysdate+dbms_random.value+dbms_random.value(1,1000),';
    ? ?? ???else
    ? ?? ?? ?? ?l_insert := l_insert || 'dbms_random.string(''A'',' ||
    ? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?x.data_length || '),';
    ? ?? ???end if;
    ? ? end loop;
    ? ? l_insert := rtrim(l_insert,',') ||
    ? ?? ?? ?? ?? ?? ?' from all_objects where rownum <= :n';

    ? ? loop
    ? ?? ???execute immediate l_insert using p_records - l_rows;
    ? ?? ???l_rows := l_rows + sql%rowcount;
    ? ?? ???commit;
    ? ?? ???dbms_application_info.set_module( l_rows || ' rows of ' || p_records, ''
    );
    ? ?? ???exit when ( l_rows >= p_records );
    ? ? end loop;
    end;
    /


    你只要用下面的方法就可以實(shí)現(xiàn)你隨機(jī)插入 100 條數(shù)據(jù)了
    SQL> create table test( x varchar2(10) );

    Table created.

    SQL> exec gen_data('TEST', 100)
    insert /*+ append */ into TEST select dbms_random.string('A',10) from
    all_objects where rownum <= :n

    PL/SQL procedure successfully completed.

    SQL> select * from test;

    X
    ----------
    \JlLWWKogS
    IUnoXAtHOR
    ...

    100 rows selected.

    SQL>



    |----------------------------------------------------------------------------------------|
                               版權(quán)聲明  版權(quán)所有 @zhyiwww
                引用請注明來源 http://m.tkk7.com/zhyiwww   
    |----------------------------------------------------------------------------------------|
    posted on 2006-05-23 17:54 zhyiwww 閱讀(316) 評論(0)  編輯  收藏 所屬分類: database
    主站蜘蛛池模板: 在线观看免费av网站| 久久精品无码一区二区三区免费| 永久免费无码网站在线观看个| 久久国产一片免费观看| 四虎永久成人免费影院域名| 亚洲精品一二三区| 一个人看的免费视频www在线高清动漫| 久久国产一片免费观看| 亚洲宅男天堂在线观看无病毒| 国产免费一区二区三区不卡 | 国产精品偷伦视频观看免费| 午夜亚洲国产成人不卡在线| 亚洲影院在线观看| 永久免费视频网站在线观看| 人人狠狠综合久久亚洲高清| 欧美日韩亚洲精品| 免费视频爱爱太爽了| 亚洲成人福利在线| 国产成人免费在线| 国产精品极品美女免费观看| 国产AV无码专区亚洲AV蜜芽| 97久久免费视频| 亚洲人成网站日本片| 黄色a三级三级三级免费看| 一级毛片在线免费看| 亚洲AV无码专区在线亚| 国产精品深夜福利免费观看| 亚洲国产成人超福利久久精品| 成人免费乱码大片A毛片| 久久亚洲精品成人| 高清免费久久午夜精品| 成人免费激情视频| 亚洲精品国产精品| 国产亚洲美女精品久久久2020| 亚洲色最新高清av网站| 亚洲成年看片在线观看| 处破女第一次亚洲18分钟| 在线观看亚洲精品国产| 亚洲视频在线免费看| 4480yy私人影院亚洲| 久久国产亚洲高清观看|