【导语】“记记△”通过精心收集,向本站投稿了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]存储过程的使用(三)
查询
使用节点
添加存储过程
复制代码
create proc [dbo].[ps_Search]
@CustomerID uniqueidentifier
as
begin
select * from TB_Customer
where CustomerID=@CustomerID
end
复制代码
在映射文件中使用
1
2
3
4 exec ps_Search :CustomerID
5
测试
在数据访问层中,使用ISession接口提供的GetNamedQuery方法来调用带命名的存储过程,并传递一个整形参数。代码如下:
复制代码
1 ///
2 /// 使用存储过程,进行查询
3 ///
4 ///
5 public IList
6 {
7 ISession session = NHibernateHelper.GetSession();
8 //参数为映射文件中为
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 //参数为映射文件中为
9 return session.GetNamedQuery(“ps_Search”)
10 .SetGuid(“CustomerID”, customerID).UniqueResult().ToString();
11 }
因为执行的是存储过程,sql语句与上面相同(在原来的存储过程基础上修改的),
最常见的bug
遇到这样的异常,可以忽视它,我找了很久也没找到解决方案,然后就直接.List
总结
这篇文章介绍了nhibernate中如何使用查询存储过程的方法及需注意的地方,比如映射文件中
★ 使用保证书
★ 医保卡怎么使用
★ 教学过程怎么写
★ 《狼》教学过程
mysql使用存储过程制造测试数据(精选8篇)




