mysql使用存储过程制造测试数据

时间:2023-01-03 08:58:43 作者:记记△ 综合材料 收藏本文 下载本文

【导语】“记记△”通过精心收集,向本站投稿了8篇mysql使用存储过程制造测试数据,下面小编给大家整理后的mysql使用存储过程制造测试数据,欢迎阅读!

篇1:mysql使用存储过程制造测试数据

解开香罗带,剥得赤条条。插上一根销儿也,把奴浑身上下来咬。'),0,10013,now);

END WHILE;

END

上面是代码:

说明:test是我的数据库,message是我的表,还有,今天心情一点都不好.

调用的时候请用下面:

[html]

use test;

delete from message;

call message_insert_procedure(10000000);

中间的一句 delete from message ; 如果你用的是workbench这类的软件,这句话是报错的,请在workbench的performance的sql queries 选项内,把 General子项下面的 “Safe Updates” 钩掉 , 然后 reconnect 一下就完事了.

数据测试:Ubuntu 12.10 下mysql ,数据测是1000W条 548秒.

篇2:mysql循环存储过程

mysql循环存储过程

利用存储过程执行一批语句

DELIMITER $$

DROP PROCEDURE IF EXISTS `proc1`$$

CREATE PROCEDURE `proc1`()

BEGIN

declare i integer;

set i=0;

while i<=100 do

begin

set @TABLENAME=CONCAT('update ','sns_userinfo_ext_',i,' set mobile_flag=1,mail_flag=1;');

PREPARE STMT FROM @TABLENAME;

EXECUTE STMT;

SET i=i+1;

end;

end while;

END$$

call ff()

篇3:mysql存储过程加速

首先看一个存储过程,这个存储过程是为了构造数据使用的,当然贴出来的存储过程简化了一些不必要的表结构。

CREATE PROCEDURE modifyRootEntry

BEGIN

DECLARE done INT DEFAULT FALSE;

DECLARE userId INT;

DECLARE userIdIter CURSOR FOR SELECT DISTINCT user_id from entries;

OPEN userIdIter;

read_loop: LOOP

FETCH userIdIter INTO userId;

IF done THEN

LEAVE read_loop;

END IF;

INSERT INTO entries (id, name, user_id, parent_id) VALUES(0, 'root_parent', userId, 0);

UPDATE entries SET parent_id=0 where user_id=userId AND name='file_root' AND parent_id is NULL;

END LOOP;

CLOSE userIdIter;

END;

CREATE PROCEDURE modifyRootEntry()

BEGIN

DECLARE done INT DEFAULT FALSE;

DECLARE userId INT;

DECLARE userIdIter CURSOR FOR SELECT DISTINCT user_id from entries;

START TRANSACTION; // here !

OPEN userIdIter;

read_loop: LOOP

FETCH userIdIter INTO userId;

IF done THEN

LEAVE read_loop;

END IF;

INSERT INTO entries (id, name, user_id, parent_id) VALUES(0, 'root_parent', userId, 0);

UPDATE entries SET parent_id=0 where user_id=userId AND name='file_root' AND parent_id is NULL;

END LOOP;

CLOSE userIdIter;

COMMIT;// here !

END;

UPDATE entries SET parent_id=0 where user_id=userId AND name='file_root' AND parent_id is NULL;

CREATE PROCEDURE modifyRootEntry()

BEGIN

DECLARE done INT DEFAULT FALSE;

DECLARE userId INT;

DECLARE userIdIter CURSOR FOR SELECT DISTINCT user_id from entries;

START TRANSACTION; // here !

OPEN userIdIter;

read_loop: LOOP

FETCH userIdIter INTO userId;

IF done THEN

LEAVE read_loop;

END IF;

INSERT INTO entries (id, name, user_id, parent_id) VALUES(0, 'root_parent', userId, 0);

END LOOP;

UPDATE entries SET parent_id=0 where user_id=userId AND name='file_root' AND parent_id is NULL; // here!

CLOSE userIdIter;

COMMIT;// here !

END;

CREATE PROCEDURE pFastCreateNums (cnt INT UNSIGNED)

BEGIN

DECLARE s INT UNSIGNED DEFAULT 1;

TRUNCATE TABLE Nums;

INSERT INTO Nums SELECT s;

WHILE s*2 <= cnt DO

BEGIN

INSERT INTO Nums SELECT a+s FROM Nums;

SET s = s*2;

END;

END WHILE;

END;

篇4:读书笔记MySQL存储过程存储函数

存储函数和存储过程不同的地方有以下几点:

1.函数的参数列表中模式只能为IN,

2.函数必须返回一个值,它的类型被定义于函数的头部

3.函数能被SQL语句所调用

4.函数可能不返回任何结果集

DELIMITER $$

DROP FUNCTION IF EXISTS discount_price$$

CREATE FUNCTION discount_price

normal_price NUMERIC(8, 2)

RETURN NUMERIC(8, 2)

DETERMINISTIC

BEGIN

DECLARE v_discount_price NUMERIC(8, 2);

IF (normal_price >500) THEN

SET discount_price = normal_price * .8;

ELSE IF (normal_price >1000) THEN

SET discount_price = normal_price * .9;

ELSE

SET discount_price = normal_price;

END IF;

RETURN (discount_price);

END$$

篇5:如何测试mysql触发器和存储过程

2010-03-03mysql 字符串函数收集比较全

2009-08-08MySQL 有输入输出参数的存储过程实例

2013-04-04MySQL查询优化:连接查询排序limit(join、order by、limit语句)介

2013-05-05基于mysql事务、视图、存储过程、触发器的应用分析

2014-03-03mysql 跨表查询、更新、删除示例

2010-11-11mysql的日期和时间函数

2006-11-11MySQL优化全攻略-相关数据库命令

2011-07-07you *might* want to use the less safe log_bin_trust_function

2013-11-11mysql获取字符串长度函数(CHAR_LENGTH)

2013-05-05MySQL笔记之修改数据的解决方法

篇6:如何测试mysql触发器和存储过程

最近更 新

mysql中IFNULL,IF,CASE的区别介绍

解决远程连接mysql很慢的方法(mysql_conn

MySQL 相关的环境变量

MySQL笔记之运算符使用详解

jdbc调用mysql存储过程实现代码

mysql执行时间为负数的原因分析

Mysql在debian系统中不能插入中文的终极解

关于mysql innodb count(*)速度慢的解决办

Last_Errno: 1062,Last_Error: Error Du

MySQL无法启动1067错误的又一种解决方法(

热 点 排 行

mysql安装图解 mysql图文安装教程

超详细mysql left join,right jo

Can''t connect to MySQL server

Mysql命令行导入sql数据

MYSQL 数据库导入导出命令

Mysql字符串截取函数SUBSTRING的

MySQL数据库备份与恢复方法

MySQL server has gone away 问题

windows下mysql忘记root密码的解

MySQL日期数据类型、时间类型使用

篇7:python连接mysql调用存储过程示例

最近更 新

使用python实现扫描端口示例

Python字符串的encode与decode研究心得乱

2款Python内存检测工具介绍和使用方法

python翻译软件实现代码(使用google api完

python正则表达式判断字符串是否是全部小

python解决字典中的值是列表问题的方法

Python 时间处理datetime实例

python 输出一个两行字符的变量

pyqt和pyside开发图形化界面

Python FTP操作类代码分享

热 点 排 行

Python入门教程 超详细1小时学会

python 中文乱码问题深入分析

比较详细Python正则表达式操作指

Python字符串的encode与decode研

Python open读写文件实现脚本

Python enumerate遍历数组示例应

Python 深入理解yield

Python+Django在windows下的开发

python 文件和路径操作函数小结

python 字符串split的用法分享

篇8:[NHibernate]存储过程的使用(三)

查询

使用节点根据用户id进行查询

添加存储过程

复制代码

create proc [dbo].[ps_Search]

@CustomerID uniqueidentifier

as

begin

select * from TB_Customer

where CustomerID=@CustomerID

end

复制代码

在映射文件中使用并定义查询的名称

3  

4  exec ps_Search :CustomerID

5

测试

在数据访问层中,使用ISession接口提供的GetNamedQuery方法来调用带命名的存储过程,并传递一个整形参数。代码如下:

复制代码

1    ///

2    /// 使用存储过程,进行查询

3    ///

4    ///

5    public IListSearchCustomerByIDUsingProc(Guid customerID)

6    {

7      ISession session = NHibernateHelper.GetSession();

8      //参数为映射文件中为节点指定的name

9

10      return session.GetNamedQuery(“ps_Search”)

11        .SetGuid(“CustomerID”, customerID)

12        .List();

13    }

复制代码

结果

生成的sql语句

1 exec sp_executesql N'exec ps_Search @p0',N'@p0 uniqueidentifier',@p0='DDF63750-3307-461B-B96A-7FF356540CB8'

如果就想返回一个实体的一部分属性怎么办?

修改存储过程,只选择需要的字段

复制代码

1 ALTER proc [dbo].[ps_Search]

2 @CustomerID uniqueidentifier

3 as

4 begin

5 select CustomerName from TB_Customer

6 where CustomerID=@CustomerID

7 end

复制代码

修改映射文件

exec ps_Search :CustomerID

修改方法

复制代码

1    ///

2    /// 使用存储过程,进行查询

3    ///

4    ///

5    public string SearchCustomerNameUsingProc(Guid customerID)

6    {

7      ISession session = NHibernateHelper.GetSession();

8      //参数为映射文件中为节点指定的name

9      return session.GetNamedQuery(“ps_Search”)

10        .SetGuid(“CustomerID”, customerID).UniqueResult().ToString();

11    }

因为执行的是存储过程,sql语句与上面相同(在原来的存储过程基础上修改的),

最常见的bug

遇到这样的异常,可以忽视它,我找了很久也没找到解决方案,然后就直接.List()将结果返回了。虽然得到结果了总有那么点不太满意(完美主义者)。

总结

这篇文章介绍了nhibernate中如何使用查询存储过程的方法及需注意的地方,比如映射文件中节点需和同级别才行。到这里nhibernate中使用存储过程增删改查就算结束了,说个题外话,使用orm为了少写sql,所以在实际项目中使用nhibernate的存储过程比较少见。就算用也没有直接在映射文件中添加的方式。因为你知道,不一定别人就知道,所以造成一定的维护难度,不过知道这种高大上的写法,遇到的时候知道咋回事就ok了。

Sybase数据库中存储过程的建立和使用

一个分页存储过程代码

存储过程和触发器的取舍问题(优缺点分析)

python操作MySQL数据库具体方法

存储图数据的数据库 FlockDB

使用保证书

医保卡怎么使用

中国制造的英文是什么

教学过程怎么写

《狼》教学过程

mysql使用存储过程制造测试数据(精选8篇)

欢迎下载DOC格式的mysql使用存储过程制造测试数据,但愿能给您带来参考作用!
推荐度: 推荐 推荐 推荐 推荐 推荐
点击下载文档 文档为doc格式
点击下载本文文档