DBMS_RANDOM
1.values方法

-- 无参数时生成38位精度的数值,范围0-1
-- 有参数时,第一个数字为下限,是二个数字为上限
SELECT DBMS_RANDOM.VALUE() FROM DUAL;
SELECT DBMS_RANDOM.VALUE(20,30) FROM DUAL;

2.normal方法

--生成一个符合正态分布的随机数,此正态分布标准偏差为1,期望值为0。这个函数返回的数值中有68%是介于-1与+1之间, 95%介于-2与+2之间,99%介于-3与+3之间。
SELECT DBMS_RANDOM.NORMAL FROM DUAL;

3.random方法

--返回值的范围为: [-2^31, 2^31),返回的是整数。
SELECT DBMS_RANDOM.RANDOM() FROM DUAL;

4.string方法

-- 'u'或'U',仅返回大写字母
-- 'l'或'L',仅返回小写字母
-- 'a'或'A',返回大小写字母混合
-- 'x'或'X',返回大写字母和数字混合
-- 'p'或'P',返回任意可显示字符
select dbms_random.string('u',10) from dual;
select dbms_random.string('L',10) from dual;
select dbms_random.string('a',10) from dual;
select dbms_random.string('X',10) from dual;
select dbms_random.string('X',10) from dual;
select dbms_random.string('p',10) from dual;
--建表语句
CREATE TABLE ORDER_TABLE
(
ORDER_ID NUMBER
,USER_CODE VARCHAR2(256)
,GOODS_NAME VARCHAR2(256)
,ORDER_DATE DATE
,CITY VARCHAR2(256)
,ORDER_NUM NUMBER
);
COMMENT ON TABLE ORDER_TABLE IS '订单表 ';
COMMENT ON COLUMN ORDER_TABLE.ORDER_ID IS '订单ID';
COMMENT ON COLUMN ORDER_TABLE.USER_CODE IS '下单用户ID';
COMMENT ON COLUMN ORDER_TABLE.GOODS_NAME IS '商品名称';
COMMENT ON COLUMN ORDER_TABLE.ORDER_DATE IS '下单日期';
COMMENT ON COLUMN ORDER_TABLE.CITY IS '下单城市';
COMMENT ON COLUMN ORDER_TABLE.ORDER_NUM IS '订单数量';--创建自增序列
CREATE SEQUENCE SE_ORDER_ID  --序列名称
MINVALUE 1001 --最小值
;--创建循环插入1000条记录的存储过程
CREATE OR REPLACE PROCEDURE SP_CREATE_DATA IS
BEGINFOR X IN 1..1000LOOPINSERT INTO ORDER_TABLEVALUES ( se_order_id.nextval --引用自增序列, DBMS_RANDOM.STRING('x', 8) --获取8位随机数字加字母, CASE TRUNC(DBMS_RANDOM.VALUE(1, 6)) --随机选取5个枚举值when 1 then '零食大礼包A'when 2 then '零食大礼包B'when 3 then '零食大礼包C'when 4 then '零食大礼包D'when 5 then '零食大礼包E'END, TO_DATE(TO_CHAR(TO_DATE('20210101', 'yyyymmdd'), 'J') -TRUNC(DBMS_RANDOM.VALUE(1, TO_DATE('20210101', 'yyyymmdd') -ADD_MONTHS(TO_DATE('20210101', 'yyyymmdd'), -12))- 1), 'J')-- to_char(sysdate, 'J') 自公元前 4712 年1月1日到指定日期的总天数, CASE TRUNC(DBMS_RANDOM.VALUE(1, 6)) --随机选取5个枚举值when 1 then '北京'when 2 then '上海'when 3 then '广州'when 4 then '深圳'when 5 then '杭州'END, TRUNC(DBMS_RANDOM.VALUE(1, 11)) --获取1-10的随机整数);END LOOP;COMMIT;
END SP_CREATE_DATA;--创建存储过程循环上一个存储过程500次
CREATE OR REPLACE PROCEDURE SP_500 IS
BEGINFOR X IN 1..500 LOOPSP_CREATE_DATA;
END LOOP;
END;--调用存储过程  生成50w条数据
BEGINSP_500;
end;--查看表数据
SELECT * FROM ORDER_TABLE;

参考文献:https://zhuanlan.zhihu.com/p/355855958

oracle批量造测试数据相关推荐

  1. mysql通过存储过程批量造测试数据

    --创建表t_user; drop TABLE t_user; CREATE TABLE `t_user` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`name ...

  2. mysql 存储过程 生成数据_mysql使用存储过程,批量生成测试数据

    1.存储过程代码 delimiter $$ DROP PROCEDURE IF EXISTS create_service_data$$ create procedure create_service ...

  3. 软件测试如何批量造数据

    测试过程中,经常用到批量造数据的场景:准备大量测试数据.执行压测等等. 比如说,你要模拟1000个用户同时发短信,那么你需要先创建1000个不同手机号的用户,直接在页面上造数据显然是不太现实的. 如果 ...

  4. oracle insert汉字出错,Oracle数据库之Oracle批量插入数据SQL语句太长出错:无效的主机/绑定变量名...

    本文主要向大家介绍了Oracle数据库之Oracle批量插入数据SQL语句太长出错:无效的主机/绑定变量名,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. Oracle数据库,用 ...

  5. Oracle批量导出AWR报告

    Oracle批量导出AWR报告 工作需求:项目中需要把生产库中所有的AWR报告dump出来,然后导入到方便测试的数据库中.在测试库中的AWR报告需要根据dbid和实例名逐个导出,如果遇到很多再加上RA ...

  6. oracle 批量插入

    oracle批量擦恶如不支持mybtais&& mysql的那种: 正确的写法是  insert  select fronm  dual 比如 <insert id=" ...

  7. oracle添加表的索引,oracle批量添加指定表前缀的索引SQL语句

    oracle批量添加指定表前缀的索引SQL语句 需要输入用户名,表空间,索引个数,表名前缀,过滤的表名后缀 ##需要输入用户名,表空间,索引个数,表名前缀,过滤的表名后缀 declare --用户名 ...

  8. oracle批量插入报错,[数据库]Mybatis 批量插入数据 关于Oracle 批量插入报错:ORA

    [数据库]Mybatis 批量插入数据 关于Oracle 批量插入报错:ORA 0 2020-08-19 08:00:06 Mybatis 批量插入数据 关于Oracle 批量插入报错:ORA-009 ...

  9. oracle 批量插入 mysql 区别,Oracle 和 mysql 的批量操作Sql语句 的区别

    正确的oracle批量新增的sql是: 方法 1: insert into ATTRACTIONS ( ID, NAME, LONGITUDE, LATITUDE,  UPDATE_TIME ) (s ...

  10. mysql 批量数据导入报错_Mybatis 批量插入数据 关于Oracle 批量插入报错:ORA

    Mybatis 批量插入数据 关于Oracle 批量插入报错:ORA-00933: SQL 命令未正确结束 问题:用mybaits 批量插入数据到Oracle 数据库的时候, 报错:ORA-00933 ...

最新文章

  1. mxnet 衰减学习率
  2. 几种并发服务器模型的实现:多线程,多进程,select,poll,epoll
  3. 使用juniversalchardet做字符编码识别
  4. 程序设计与算法----递归之放苹果问题
  5. windows上pip安装及使用详解
  6. 工业相机和普通相机的区别详解_工业相机与普通相机的差别
  7. /专访/对话堵俊平:最好的开源生态模型,是亚马逊的原始森林
  8. 利用Reachability判断网络环境(WAN/WIFI)
  9. Project使用总结-如何统计项目总工时,设置Project起始日期,修改项目日期格式
  10. 美图秀秀开发插件生成的图片都有哪些格式?
  11. Altium Designer 18板子信息命令
  12. 【Lintcode】1799. Sequence Summation
  13. 同源策略 - 学习/实践
  14. 搭建e(fx)clipse-JavaFX E4 RCP平台
  15. 玩转Linux操作系统
  16. 全志A40I方案 全志A40I方案定制 全志A40I软硬件设计定制 全志A40i性能如何
  17. 第5次作业+105032014124+高小娟
  18. 嵌入式工程师应该有的工作态度
  19. 天猫联手汽车超人及康众成立新公司 商宝国任CEO
  20. 翻译技能提升的主要难点和对策(含入门书籍和资料推荐)丨打死个翻译官 2.2

热门文章

  1. 如何成为一个合格的聚合支付代理商
  2. android ios mp4格式转换,ios 开发 视频格式转换、mov转MP4
  3. 经历没有亮点可讲?你需要做份“详历”
  4. c语言求最长单调子序列,设计一个O(n2)时间算法,找出由n个数组成的序列的最长单调递增子序列...
  5. exchange服务器没有响应,exchange服务没法启动!急!
  6. linux 屏幕录像软件,Linux系统下推荐使用的5个屏幕录像软件
  7. cad多段线画圆弧方向_cad弧形多线(cad多段线怎么画弧线)
  8. 软件工程投资回收率计算
  9. 计算机用老毛桃u盘备份系统,如何用老毛桃u盘备份系统
  10. 汇编---串传送指令MOVS