Oracle如何实现从特定组合中随机读取值
作者:网络转载 发布时间:[ 2015/5/15 13:53:19 ] 推荐标签:数据库
在这里,我们会用到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.
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11