-- -----------------声明全局变量---------------

declare str varchar(100) default '2010';

declare n int default '2011';

declare newstr varchar(100);

declare newn int;

use HBI;

show variables like 'character_set_%';

set names utf8;

-- -------创建药品表-----------

DROP TABLE IF EXISTS yaopintb;

CREATE TABLE yaopintb (

yaopinmc VARCHAR(100) NOT NULL,

yaopinid varchar(10) NOT NULL,

yaopindlid varchar(2) NOT NULL,

yaopinxlid varchar(2),

yapindlmc VARCHAR(100),

yapinxlmc VARCHAR(100),

jgzb VARCHAR(50),

ypyt VARCHAR(100),

PRIMARY KEY (yaopinid)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- -------------创建过程事务------------ DROP PROCEDURE IF EXISTS pro_insert_yaopintb;

CREATE PROCEDURE pro_insert_yaopintb

(

cout INT,

ypname varchar(100),

bcat varchar(2),

bcatname varchar(100),

scat varchar(2),

scatname varchar(100)

) BEGIN

DECLARE j INT DEFAULT 0;

declare bscat varchar(4);

set bscat = concat(bcat,scat);

WHILE j < cout DO

-- SELECT j ;

INSERT INTO yaopintb(yaopinmc,yaopinid,yaopindlid,yaopinxlid,yapindlmc,yapinxlmc,jgzb,ypyt) VALUES (concat(ypname,concat(bscat,j)), concat(bscat,j), bcat,bscat,concat(bcatname,bcat),concat(scatname,scat),'unknown','unknown');

SET j = j + 1;

END WHILE;

END;

-- --------------调用过程事务-------------

call pro_insert_yaopintb(50,'a sipi lin','A','kou fu','a','xiao yan yao');

call pro_insert_yaopintb(50,'bai jia hei','A','kou fu','b','gan mao yao');

call pro_insert_yaopintb(50,'jin huang gao','B','wai fu','c','gao yao');

call pro_insert_yaopintb(50,'tou gu xiao','B','wai fu','d','cao yao');

-- ----------------下面有两个例子:---------------------

-- ------------------例子一--------------------------------

-- ---------插入门诊数据------------ DROP PROCEDURE IF EXISTS pro_insert_menzhentb;    CREATE PROCEDURE pro_insert_menzhentb   (       cout INT,     insertdt varchar(20),     brid int  ) BEGIN       DECLARE pnum INT DEFAULT 0;     DECLARE ysid int;     DECLARE ypid VARCHAR(10);     DECLARE costrand int DEFAULT 0;     DECLARE ysrand int DEFAULT 0;     DECLARE yprand int DEFAULT 0;     DECLARE tdt datetime;  --   set insertdt='2008-4-2 15:3:28';     set tdt=STR_TO_DATE(insertdt,'%Y-%m-%d %h:%i:%s');   --  select tdt;          WHILE pnum < cout DO           -- SELECT pnum ; SET costrand = floor(rand()*301);  SET ysrand = floor(rand()*31);  SET yprand = floor(rand()*50); set ysid =0; -- select concat( concat( concat( concat(ysid,ysrand%2+1), ysrand%5+1), '0'), ysrand%3+1); set ysid = cast( concat( concat( concat( concat(ysid,ysrand%2+1), ysrand%5+1), '0'), ysrand%3+1) as signed); if yprand%4 = 0 then set ypid='Aa'; elseif yprand%4 = 1 then set ypid='Ab'; elseif yprand%4 = 2 then set ypid='Bc'; else  set ypid='Bd'; end if; set ypid=concat(ypid,yprand); INSERT INTO menzhentb(guahaoid,bingrenid,shijian,yearofmz,monthofmz,dayofmz,yishengid,keshiid,yuanquid,yaopinid,yongyaoje,yongyaosl,qtsr,tybs,yllbbs,yblxbs) VALUES (NULL,brid,tdt,EXTRACT(YEAR from tdt),EXTRACT(MONTH from tdt),EXTRACT(DAY from tdt),ysid,ksid,yqid,ypid,costrand,costrand%5+1,costrand%100,concat('',costrand%2),concat('',yprand%3+1),concat('',(ysrand%2 + yprand%3)%2));        if(EXTRACT(HOUR from (tdt + INTERVAL 10 MINUTE) ) > 20 ) then set tdt = tdt + INTERVAL 12 HOUR; else  set tdt = tdt + INTERVAL 10 MINUTE; end if;  SET pnum = pnum + 1; set brid = brid+1;     END WHILE;  END; call pro_insert_menzhentb(100000,'2012-01-01 08:00:00',0); -- call pro_insert_menzhentb(100000,'2013-01-01 08:00:00',0); --  -----------------------------例子二----------------------------------- -- -------新建住院表----------- DROP TABLE IF EXISTS zhuyuantb; CREATE TABLE zhuyuantb (   zhuyuanid int NOT NULL auto_increment,   bingrenid int NOT NULL,   shijian DATETIME,   yearofmz char(4),   monthofmz char(2),   dayofmz char(2),   yishengid int NOT NULL,   keshiid int NOT NULL,   yuanquid int NOT NULL,   yaopinid varchar(10) NOT NULL,   yongyaoje DECIMAL(10,2),   yongyaosl DECIMAL(10,2),   qtsr DECIMAL(10,2),   tybs smallint ,   zylxbs char(2),   yblxbs char(2),   PRIMARY KEY (zhuyuanid,bingrenid,yishengid,keshiid,yuanquid) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; DROP PROCEDURE IF EXISTS pro_insert_zhuyuantb;    CREATE PROCEDURE pro_insert_zhuyuantb   (       cout INT,     insertdt varchar(20),     brid int  ) BEGIN       DECLARE pnum INT DEFAULT 0;     DECLARE ysid int;     DECLARE ypid VARCHAR(10);     DECLARE costrand int DEFAULT 0;     DECLARE ysrand int DEFAULT 0;     DECLARE yprand int DEFAULT 0;     DECLARE tdt datetime;  --   set insertdt='2008-4-2 15:3:28';     set tdt=STR_TO_DATE(insertdt,'%Y-%m-%d %h:%i:%s');   --  select tdt;          WHILE pnum < cout DO           -- SELECT pnum ; SET costrand = floor(rand()*301);  SET ysrand = floor(rand()*31);  SET yprand = floor(rand()*50); set ysid =0; -- select concat( concat( concat( concat(ysid,ysrand%2+1), ysrand%5+1), '0'), ysrand%3+1); set ysid = cast( concat( concat( concat( concat(ysid,ysrand%2+1), ysrand%5+1), '0'), ysrand%3+1) as signed); if yprand%4 = 0 then set ypid='Aa'; elseif yprand%4 = 1 then set ypid='Ab'; elseif yprand%4 = 2 then set ypid='Bc'; else  set ypid='Bd'; end if; set ypid=concat(ypid,yprand); INSERT INTO zhuyuantb(zhuyuanid,bingrenid,shijian,yearofmz,monthofmz,dayofmz,yishengid,keshiid,yuanquid,yaopinid,yongyaoje,yongyaosl,qtsr,tybs,zylxbs,yblxbs) VALUES (NULL,brid,tdt,EXTRACT(YEAR from tdt),EXTRACT(MONTH from tdt),EXTRACT(DAY from tdt),ysid,ksid,yqid,ypid,costrand,costrand%5+1,costrand%100,concat('',costrand%2),concat('',yprand%2+1),concat('',(ysrand%2 + yprand%3)%2));        if(EXTRACT(HOUR from (tdt + INTERVAL 10 MINUTE) ) > 20 ) then set tdt = tdt + INTERVAL 12 HOUR; else  set tdt = tdt + INTERVAL 10 MINUTE; end if;  SET pnum = pnum + 1; set brid = brid+1;     END WHILE;  END; call pro_insert_zhuyuantb(10000,'2012-01-01 08:00:00',0);

mysql数据自定义随机_MySQL 利用事务自定义插入随机数据相关推荐

  1. mysql 表 页 行_Mysql之InnoDB行格式、数据页结构

    Mysql架构图 存储引擎负责对表中的数据的进行读取和写入,常用的存储引擎有InnoDB.MyISAM.Memory等,不同的存储引擎有自己的特性,数据在不同存储引擎中存放的格式也是不同的,比如Mem ...

  2. mysql隔离级别 举例_mysql的事务隔离级别举例

    事务是怎么回事,之前已经聊过(参见Oracle事务的隔离),无关哪个数据库,只要提到事务,都是这四种隔离级别.mysql的默认隔离级别是3--可重复读.更重要的是,是否支持事务,跟mysql的存储引擎 ...

  3. mysql数据库实验任务二_MySQL数据库实验:任务二 表数据的插入、修改及删除

    任务二 表数据的插入.修改及删除 @[toc] 班级 姓名 软件工程16-9班 洪燕妮 [实训目的与要求] 1.利用MySQL命令行窗口进行增.删.改数据操作: 2.利用界面工具进行增.删.改数据操作 ...

  4. mysql 后10条_Mysql 保留最新的10条数据

    Mysql每天执行计划,保留最新的10条数据,其余的删除 1.Mysql 保留最新的10条数据 sql语句: DELETE tb FROM tbname AS tb,( SELECT id FROM ...

  5. mysql 创建重复数据库_MySQL数据库,如何处理重复的数据?

    前言 这是一个基本问题,这篇文章是我很早之前遇到的一种情况,后来在学习视频的时候又遇到了一次,因此给出一个总结.其实解决能否插入重复数据的问题,一般情况下是有两个思路,就像治水一样,第一个就是从源头, ...

  6. mysql在查询结果中添加数据_MySQL将查询结果插入到数据表中

    转自Mysql教程:http://www.baike369.com/content/?id=5582 MySQL将查询结果插入到数据表中 INSERT语句还可以将SELECT语句查询出来的数据插入到另 ...

  7. mysql查询一周内数据并分组_mysql 统计本周7天的数据并分组

    今天写到项目的一个数据展示模块,最终要呈现的效果是用柱状图显示本周七天的访客数量,所以要给前端本周7天的数据 比如今天是周二(实际上也是),我们要给前端周一周二的数据,后面周三到周日因为还没到,数据置 ...

  8. 【mysql解决办法】insert into select 想插入的数据如果部分为空怎么办?

    简述 一开始,真的没想到这么简单. 期末数据默认就为NULL,所以,插入的时候,不要管就好了. 比如,我下面要插入的数据中,最后一列要求为空. mysql> insert into sc (sn ...

  9. php 生成随机数组,利用php如何获取随机数组列表

    利用php如何获取随机数组列表 发布时间:2021-02-11 19:07:52 来源:亿速云 阅读:70 作者:Leah 利用php如何获取随机数组列表?相信很多没有经验的人对此束手无策,为此本文总 ...

最新文章

  1. 【图像分类案例】(1) ResNeXt 交通标志四分类,附Tensorflow完整代码
  2. oracle的catalog,Oracle Rman Catalog的创建方法和备份原理
  3. Ocelot 入门Demo系列(01-Ocelot极简单Demo及负载均衡的配置)
  4. Linux C学习---递归函数
  5. 隐藏a标签seo_百度SEO网站整体优化方案 - 蜘蛛池博客
  6. python自带模块可以控制鼠标吗_python自带模块模拟鼠标和键盘操作
  7. CPU vs. GPU
  8. nyoj 8 一种排序(用vector,sort,不用set)
  9. 关于vs2013弹出“正在初始化模板“的问题
  10. ShuipFCMS -- 简单强大内容管理系统
  11. Python:下载数据——CSV文件格式练习题
  12. macbook proa1708_Macbook pro2017 a1708转接卡更换大容量硬盘
  13. hualinux 编程概念 3.11 快速原型模型:以最快最小代价完成产品特性
  14. 12306登录验证码识别(Java版)
  15. linux查看磁盘空间大小(du)
  16. 适用于Android设备的十大应用程序锁
  17. Linux下eMMC,SD卡格式化和分区管理
  18. 基于迭代局部搜索的改进麻雀搜索算法
  19. 恋爱周年纪念日-送给女友的网页
  20. 中国软件开发标准各项文档模板下载(附模版)

热门文章

  1. 有没有办法在Android上运行Python?
  2. CRT远程工具连接服务器CentOS
  3. android的oomkiller_[Android Memory] Linux下malloc函数和OOM Killer
  4. matlab中asix off_遗传算符MATLAB程序-入门必看
  5. 麦轮平台的速度分解与合成
  6. 【Spring第六篇】注解:Annotation
  7. Vue报错Module build failed Error Node Sass version 6.0.1 is incompatible with ^4.0.0.解决方案
  8. cad连接mysql,AutoCAD 2004 使用外部数据库
  9. C# static变量、const变量、readonly变量
  10. WPF 利用键盘钩子来捕获键盘,做一些不为人知的事情...完整实例