Oracle随机数据生成的多种方法与代码实例详解
Oracle数据库开发测试中,通过存储过程可生成任意数量含随机日期、金额、性别的模拟数据;匿名块能批量创建结构相同的表,适用于分表或压力测试场景,有效提高测试数据准备效率,支持大数据量并发测试。
在日常开发与测试中,Oracle 数据库经常需要快速填充大批模拟数据。下面分享两个非常实用的脚本:一个通过存储过程按需生成任意数量的随机记录,另一个则用匿名块批量创建结构相同的表。这两个方法在数据准备场景中堪称“利器”,能显著提升开发效率。
使用存储过程生成任意数量的随机数据
先来看第一个。如果你想生成100条、1000条甚至更多测试数据,手动编写 INSERT 显然不现实。这个存储过程通过循环和序列,能够灵活控制数据量,并且每条记录的日期、金额、性别字段都带有随机属性,非常贴近真实业务数据,特别适合 Oracle 随机测试数据的快速生成。
/** *创建序列,用于获得特征数据*/create sequence mock_data_seqminvalue 1 start with 1 increment by 1 cache 100;/***创建数据库表*/create table tab_mock_data (id number,serno long,username varchar2(50),birthdate date,sex number(1),amount number(19,6),tag varchar2(20),remark varchar2(200),inputdate timestamp);/***创建存储过程*/create or replace procedure mockdatagenertator(maxrecords in number :=100) isi number :=1;beginfor i in 1..maxrecordsloop insert intotab_mock_data VALUES(mock_data_seq.NEXTVAL,i,'测试数据',SYSDATE-(i/24 i/24/3600), mod(i,3),dbms_random.random/10000,'std','备注',current_timestamp);end loop;commit;dbms_output.put_line(maxrecords||' insert done');end mockdatagenertator;-- set serveroutput on; -- 执行,产生数据量通过参数指定 call mockdatagenertator(1000);-- 查询数据select * from tab_mock_data;--- 清理数据drop sequence mock_data_seq;drop table tab_mock_data;drop proceduremockdatagenertator;
批量创建表
有时候测试场景需要多张结构完全相同的表,比如做分表实验或者压力测试。下面这段匿名块就特别省事——只需指定数量,循环执行 DDL 语句,瞬间就能生成10张(或任意数量)结构一致的表,非常适合 Oracle 批量建表的快速实现。
declaremaxtablecount number;beginmaxtablecount := 10;while maxtablecount > 0 loopexecute immediate 'create table tab_mock_data' || maxtablecount || ' (id number,serno long,username varchar2(50),birthdate date,sex number(1),amount number(19,6),tag varchar2(20),remark varchar2(200),inputdate timestamp)';maxtablecount := maxtablecount - 1;end loop;end;
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
阿里云通义AIGC平台完全指南:设计师AI生产力革命
一、写在前面:为什么设计师需要关注AIGC? 如果你还在手动一张一张制作海报、反复修改客户口中“感觉不对”的配色方案、为电商详情页准备几十张不同场景的产品图——那么你一定经历过这些痛点: 创意瓶颈:脑海中有画面,但手绘无法呈现 重复劳动:调整尺寸、更换背景、批量生成变体消耗了大量时间精力 成本焦虑:
零基础毕设代码二次开发:3文件定位法及Vue/Java修改对照表
每年一到毕业季,计算机专业的同学总会陷入一个共同的怪圈:从 GitHub 上扒下来一套代码,或者用 AI 生成一个项目,看起来挺完整的,可导师一句“加个筛选条件”或“换个页面颜色”,瞬间就懵了——不敢改,不会改,怕改崩。是不是很熟悉? 一、为什么AI生成的毕设代码你 "不敢改 "? 1 1 毕业生的三大
反向海淘订单系统:状态机与分布式事务实战设计
先分享一个反直觉的结论:反向海淘订单管理的真正挑战,往往不在于业务逻辑本身,而在于状态流转。一个订单的生命周期拉长到跨国运输,中间涉及的环节多、系统多、参与者多,状态稍有错乱就可能引发连锁事故。Taocarts团队在实践中踩了不少坑,最终沉淀下来的这套状态机与分布式事务方案,成功解决了这一复杂难题。
AI并未抢走程序员饭碗而是更新了编程菜单
AI并未大规模替代程序员,而是改变了职业结构。重复性编码岗位需求下降35%至15%,而AIAgent开发等岗位需求激增187%。开发者焦虑从“被替代”转向“跟不上变化”,60%程序员已使用AI辅助编程。人的核心价值转向架构设计、技术决策和审查AI生成代码,AI技能带来16%薪资溢价。
Codex一键复刻任何网站,30秒完成两天工作量
Codex命令行工具能一键复刻任何网站的前端代码,包括样式、动画和响应式布局。通过无头浏览器分析DOM和计算样式,生成语义化HTML、CSS变量和模块化JS,视觉还原度达90%-95%。支持指定技术栈、只复刻特定组件或添加新功能,大幅提升开发效率。
- 热门数据榜
相关攻略
2026-07-09 16:48
2026-07-09 16:46
2026-07-09 16:46
2026-07-09 16:46
2026-07-09 16:46
2026-07-09 15:45
2026-07-09 15:45
2026-07-09 15:45
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程

