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;
/
分享到:
相关推荐
向kafka插入数据测试
数据库,大批量插入测试数据,可用于生成随机数据
mysql 批量插入测试数据 ,可判断条件插入数据,随心所遇插入,do where 循环
数据库做数据库开发或管理的人经常要创建大量的测试数据,动不动就需要上万条,如果一条一条的录入,那会浪费大量的时间,本文介绍了Oracle中如何通过一条 SQL快速生成大量的测试数据的方法。 产生测试数据的SQL如下...
用于MySQL高级(二)5.1 优化大批量插入数据的测试数据
用在MySQL高级(二)的5.1 优化大批量插入数据的测试数据
Oracle中如何用一条SQL快速生成10万条测试数据
MySql练习4:插入测试数据.zip MySql练习4:插入测试数据.zip MySql练习4:插入测试数据.zip MySql练习4:插入测试数据.zip
数据仓库插入日期维测试数据脚本,用于数据仓库、多维数据库使用
oracle 动态执行sql 循环 if判断 取余函数
可以插入多条通话记录,通讯人等,主要是手机测试使用,一键插入500条以上
(JavaMetal,SystemDefault) 附带一个查询控制台,可以处理常规SQL查询操作 生成的测试数据,可以直接插入到数据表中,也可以以Insert语句形式记录在文件中 如果没有积分,可到下面的网址下载. 更新版本...
mysql数据表中,通过函数快速添加测试数据,方便快捷。
对于测试软件需要添加大量数据的测试人员来说,简直就是太有帮助的一个软件了。
共有三百万的用户数据包含地址,电话,名称,密码等相关用户信息。所提供的信息均为生成数据,全部都是假数据,想要用来做坏事的本人不承担任何责任。经用来技术研究,为了写出更加优秀的sql
用于测试sqlserver插入数据库速度的代码,非常简单实用!
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;...
本工具使用Excel VBA编写,根据数据库结构自动生成测试数据表格,用户手工管理测试数据后,系统可将数据自动插入到数据库中或生成SQL文件,系统会根据外键计算数据库表之间的依赖关系。
C#窗体测试数据查询、插入、更新、excel数据模板合成、导出等