`
wengsibo
  • 浏览: 83467 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

插入千万测试数据

阅读更多
首先建表,序列
drop table student;
drop table st_class;
drop table st_score
drop sequence SEQ_st_class;
drop sequence SEQ_student;
drop sequence seq_st_score;

--创建学生表
create table student
(
  st_id   NUMBER not null primary key,
  st_name VARCHAR2(50), 
)

--创建班级表
create table st_class
(
  class_id   NUMBER not null primary key,
  st_id number,
  class_name VARCHAR2(50)
);

--创建成绩表
create table st_score
(
  score_id number not null primary key
  st_id number,
  subject_name varchar(30),
  score float
);


create sequence SEQ_student
minvalue 1
maxvalue 999999999
start with 1
increment by 1
cache 20;

create sequence SEQ_st_class
minvalue 1
maxvalue 999999999
start with 1
increment by 1
cache 20;

create sequence SEQ_st_score
minvalue 1
maxvalue 999999999
start with 1
increment by 1
cache 20;



创建存储过程
create or replace procedure P_Insert as
  type type_array is TABLE of varchar2(400);
  var_firstname  type_array := type_array('陈','黄','温','江,','翁','洪','方','龚','汪','钟','关','张','赵','马','林');
  var_secondName type_array := type_array('桂','唐','斯','益','杨','金','远','国','宋','辽','羽','飞'
                                          ,'云','超','备','侃','拼','莹','基','泽','邓','胡','吴','郑');
  var_thirdName  type_array := type_array('年','球','理','象','挺','波','忠','新','法','笔','这','为'
                                           ,'上','和','人','有','天','鑫','煌','东','仍','夺','淡','艰');
  var_name       varchar2(100);
  var_no    varchar2(40);
  var_address    varchar2(40);
  var_county     type_array := type_array('鼓楼区',
                                          '晋安区',
                                          '台江区',
                                          '仓山区',
                                          '马尾区');
  var_address1   type_array := type_array('鼓楼路',
                                          '晋安路',
                                          '台江路',
                                          '仓山路',
                                          '马尾路');
  var_address2   type_array := type_array('鼓楼街',
                                          '晋安街',
                                          '台江街',
                                          '仓山街',
                                          '马尾街');
  var_subject  type_array := type_array('语文','数学','英语','政治');
BEGIN
  for var_i in 1 .. 2000000 loop
    --名字
    var_name := var_firstname(round(DBMS_RANDOM.VALUE(0,15))) || var_secondName(round(DBMS_RANDOM.VALUE(0,24))) || var_thirdName(round(DBMS_RANDOM.VALUE(0,24)));
    var_no :=  10000000+var_i;
    var_address := var_county(round(DBMS_RANDOM.VALUE(0,4))) || var_address1(round(DBMS_RANDOM.VALUE(0,4))) || var_address2(round(DBMS_RANDOM.VALUE(0,4)));
    --插入学生表
    insert into student
      (st_id, st_name,st_no, ADDRESS)
    values
      (SEQ_student.NEXTVAL, var_name,var_no,var_address);
    --班级表数据
    insert into st_class
      (CLASS_ID, ST_ID,CLASS_NAME)
    values
      (seq_st_class.NEXTVAL, SEQ_student.Currval,round(dbms_random.value(1,20))||'班');
    --成绩表
     for var_j in 0 .. 3 loop
        insert into st_score(SCORE_ID,st_id,subject_name,score)
      values(seq_st_score.nextval,seq_student.currval,var_subject(var_j),round(dbms_random.value(0,100)));
     end loop;
  end loop;
  commit;
END;
/


调用存储过程

begin
  -- Call the procedure
  p_insert;
end;
/
分享到:
评论

相关推荐

    oracle批量插入测试数据

    数据库做数据库开发或管理的人经常要创建大量的测试数据,动不动就需要上万条,如果一条一条的录入,那会浪费大量的时间,本文介绍了Oracle中如何通过一条 SQL快速生成大量的测试数据的方法。 产生测试数据的SQL如下...

    向kafka插入数据测试

    这个场景中,我们关注的是“向Kafka插入数据”的测试。这涉及到多个知识点,包括Kafka的基本概念、生产者API、数据模型、以及如何进行测试。 1. **Kafka基本概念**:Kafka是一个高吞吐量、低延迟的消息队列系统,它...

    mysql 大批量插入测试数据

    数据库,大批量插入测试数据,可用于生成随机数据

    mysql 批量插入测试数据

    mysql 批量插入测试数据 ,可判断条件插入数据,随心所遇插入,do where 循环

    Oracle中如何用一条SQL快速生成10万条测试数据

    在Oracle数据库管理中,生成大量测试数据是进行性能测试、数据建模以及验证查询效率等场景下不可或缺的一环。本文将深入探讨如何利用一条SQL语句在Oracle中快速生成10万条测试数据,这对于数据库管理员和开发人员来...

    主键乱序插入的测试数据sql2.log

    用于MySQL高级(二)5.1 优化大批量插入数据的测试数据

    mongodb-测试数据

    这个“mongodb-测试数据”压缩包显然包含了一些用于测试MongoDB功能的样例数据集,特别是针对增、删、改、查(CRUD)操作的学习和性能测试。 在深入探讨MongoDB的测试数据之前,我们先来了解一下MongoDB的基本概念...

    主键顺序插入的测试数据sql1.log

    用在MySQL高级(二)的5.1 优化大批量插入数据的测试数据

    mysql表添加测试数据函数

    根据给定的信息,本文将详细解析如何在MySQL中利用存储过程快速向表内添加大量测试数据的方法。这种方法尤其适用于需要批量插入数据进行测试或验证应用逻辑的场景。 ### MySQL存储过程简介 存储过程是一种在数据库...

    数据仓库插入日期维测试数据脚本

    数据仓库插入日期维测试数据脚本,用于数据仓库、多维数据库使用

    测试数据管理器2.0

    《测试数据管理器2.0:提升测试效率与数据质量的关键工具》 在软件开发过程中,测试数据的管理和准备是一项至关重要的任务。测试数据的质量直接影响到软件测试的覆盖率和准确性,进而影响整体项目的进度和质量。...

    Oracle创造测试数据

    标题“Oracle创造测试数据”指的是在Oracle数据库环境中创建模拟真实业务场景的数据,这对于软件测试、性能测试、系统分析等过程至关重要。Oracle数据库是全球广泛使用的大型关系型数据库管理系统,其强大的功能使得...

    实验指导书2-EMI电源滤波器插入损耗测试.pdf

    * 插入损耗测试数据记录 + 差模测试 + 共模测试 六、实验结果分析 * 测试中改变滤波器接地状态,观察插入损耗的变化情况,并分析其原因 * 测试中改变测试夹具中滤波器的输入/输出屏蔽隔离状态,观察分析插入损耗...

    MySql练习4:插入测试数据.zip

    在MySQL数据库管理系统中,插入测试数据是学习和测试SQL语句的重要步骤,它能帮助我们了解数据库表结构、数据类型以及查询操作等基础知识。在这个"MySQL练习4:插入测试数据"的压缩包中,很显然,包含的是一个或多个...

    sql循环插入测试数据

    oracle 动态执行sql 循环 if判断 取余函数

    测试数据.zip

    本文将深入探讨PowerCenter在SQL源文件和测试数据中的应用。 首先,我们来看“测试数据.zip”这个文件。这通常包含一系列用于测试目的的数据文件,可能是CSV、Excel或SQL脚本等形式。在软件开发和数据分析过程中,...

    数据插入测试APK

    可以插入多条通话记录,通讯人等,主要是手机测试使用,一键插入500条以上

    MySQL循环插入千万级数据

    1、创建测试表 CREATE TABLE `mysql_genarate` ( `id` int(11) NOT NULL AUTO_INCREMENT, `uuid` varchar(50) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=5999001 DEFAULT CHARSET=utf8;...

    批量生成mysql中文测试数据

    "批量生成mysql中文测试数据"是一个专门针对这一需求而设计的工具,主要用于生成大量的中文测试数据,以便于开发者进行中文搜索功能的测试和MySQL数据库的优化工作。 这个工具采用PHP语言编写,PHP是一种广泛使用的...

    .Net数据库生成测试数据工具类

    在.NET开发环境中,数据库测试数据的生成是必不可少的环节,特别是在进行性能测试、压力测试或者功能验证时。本文将详细讲解如何使用一个自定义的.NET工具类来高效地生成数据库测试数据,支持包括MSSQL、Oracle、...

Global site tag (gtag.js) - Google Analytics