存储过程+函数造数据myql

  

往身份信息表插入N条记录,N=p * Q,
p:每条插入语句插入的记录数,由临时表的数量决定
问:循环次数,存储过程的入参

  

——身份信息表
删除表如果存在t_identity_info;
create table <代码> t_identity_info (
<代码> id> <代码> real_name varchar(20)默认空评论的姓名”,
<代码> id_card varchar (18) not null评论“×××号”,
<代码> create_time varchar (19) not null评论“创建时间”,
主键(<代码> id> 键<代码> index_id_card (<代码> id_card> )引擎=innodb auto_increment=1的默认字符集=utf8评论='用户信息表”,

  

——删除
下降函数如果存在rand_xing_ming;

  

——创建函数
创建函数rand_xing_ming()返回varchar (20)

开始宣布xing_string varchar(1000)默认“赵钱孙李周吴郑王冯陈的;
声明ming_string varchar(1000)默认的天地玄黄宇宙洪荒日月”,
声明xing_ming varchar(20)违约”;

  

声明xing_index int;
声明ming_index int;
声明temp_xing varchar (10);
声明temp_ming varchar (10);

  

设置xing_index=圆(rand () 10000)国防部(char_length (xing_string) 1);
设置ming_index=(圆(rand ()
10000))国防部(char_length (ming_string) 1);
设置temp_xing=子串(xing_string xing_index 1);
设置temp_ming=子串(ming_string ming_index 1);
设置xing_ming=concat (temp_xing temp_ming);
返回xing_ming;
结束
,

  

——测试
选择rand_xing_ming ();

  

——临时表,用来控制插入的条数
删除表如果存在t_temp;
create table t_temp (
id int (11) not null auto_increment评论的主键id”,
主键(id)
)引擎=innodb auto_increment=1的默认字符集=utf8评论=傲偈北怼?

  

——插入100条数据
插入t_temp值
(), (), (), (), (), (), (), (), (), (),
(), (), (), (), (), (), (), (), (), (),
(), (), (), (), (), (), (), (), (), (),
(), (), (), (), (), (), (), (), (), (),
(), (), (), (), (), (), (), (), (), (),
(), (), (), (), (), (), (), (), (), (),
(), (), (), (), (), (), (), (), (), (),
(), (), (), (), (), (), (), (), (), (),
(), (), (), (), (), (), (), (), (), (),
(), (), (), (), (), (), (), (), (), ();

  

——存储过程
下降过程中如果存在insert_data;

  

分隔符;;
创建过程insert_data (data_count int)

开始宣布我int;
设置i=0;
当我& lt;data_count
设置我=i + 1;

  

插入t_identity_info (real_name、id_card create_time)
选择rand_xing_ming (),“abc”,现在从t_temp; ()

  

结束时,

结束;;


分隔符;   

——调用存储过程插入10 w条记录
将autocommit=0;
调用insert_data (1000),


提交;   

——验证
从t_identity_info;选择计数(1)

存储过程+函数造数据myql