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

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

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

    zhyiwww
    用平實的筆,記錄編程路上的點點滴滴………
    posts - 536,comments - 394,trackbacks - 0

    ORACLE 里面怎么實現隨機循環?(網上收集整理)

    你是不是想模擬一些隨機的測試數據
    我提供一個不錯的腳本給你
    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;
    /


    你只要用下面的方法就可以實現你隨機插入 100 條數據了
    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>



    |----------------------------------------------------------------------------------------|
                               版權聲明  版權所有 @zhyiwww
                引用請注明來源 http://m.tkk7.com/zhyiwww   
    |----------------------------------------------------------------------------------------|
    posted on 2006-05-23 17:54 zhyiwww 閱讀(317) 評論(0)  編輯  收藏 所屬分類: database
    主站蜘蛛池模板: 久久亚洲国产精品五月天| 亚洲中文字幕第一页在线| 亚洲精品第一国产综合野| 亚洲免费二区三区| 亚洲人成网网址在线看| 91在线视频免费看| 中日韩亚洲人成无码网站| 免费无码又爽又高潮视频| 亚洲爆乳大丰满无码专区| 一本久到久久亚洲综合| a在线视频免费观看在线视频三区| 国产亚洲精品免费视频播放| 国内精品99亚洲免费高清| 亚洲AV无码久久精品色欲| 8888四色奇米在线观看免费看| 亚洲美女视频免费| 日韩欧美一区二区三区免费观看| 亚洲中文字幕久久久一区| 吃奶摸下高潮60分钟免费视频| 一区在线免费观看| 亚洲国产日韩一区高清在线| 亚洲免费综合色在线视频| 国产成人精品亚洲| 婷婷亚洲综合五月天小说| 一二三四免费观看在线电影 | 成人免费在线看片| 亚洲精品无码一区二区| 亚洲色偷拍另类无码专区| 免费看片在线观看| 四虎国产精品成人免费久久 | xxxxx做受大片视频免费| 久久亚洲精品成人综合| 免费看国产成年无码AV片| 又长又大又粗又硬3p免费视频| 亚洲成人中文字幕| 最好免费观看韩国+日本| 9久热精品免费观看视频| 亚洲人成网站色在线观看| 亚洲精品高清国产一线久久| 免费看黄视频网站| 中国一级特黄的片子免费|