在这里,我们会用到DBMS_RANDOM包和CASE WHEN语句,思路如下:一、利用DBMS_RANDOM.RANDOM函数随机生成数值,然后对数值进行取模,如果我们要在10个元素中随机读取的话,那我们需要对10进行取模。二、再将取模后的值利用CASE WHEN语句与元素进行关联。譬如,我有一个组合,里面包含“北京”,“上海”,“广州”,“深圳”,“武汉”五个元素,想从这五个元素中随机读取值来填充表的某个字段。首先,创建测试表SQL> create table test(loc varchar2(2 char));Table created.构造能随机读取元素的SQL语句 select case mod(abs(dbms_random.random),5) when 1 then "北京" when 2 then "上海" when 3 then "广州" when 4 then "深圳" else "武汉" end "LOC" from dual; 大批量填充test表的loc字段 begin for i in 1..10 loop insert into test values(case mod(abs(dbms_random.random),5) when 1 then "北京" when 2 then "上海" when 3 then "广州" when 4 then "深圳" else "武汉" end ); end loop; end; 最后生成的结果如下: SQL> select * from test;LOC -------- 武汉 广州 上海 北京 上海 武汉 北京 上海 武汉 深圳10 rows selected.更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12本文永久更新链接地址