码迷,mamicode.com
首页 > 其他好文 > 详细

存储过程

时间:2016-03-15 22:01:03      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:

先挖好坑= =

存储过程
建立:
#创建存储过程(查询得到男性或女性的数量, 如果传入的是 0 就女性否则是男性)
DELIMITER $
CREATE PROCEDURE student.ges_user_count(IN sex_id INT, OUT user_count INT) BEGIN
IF sex_id=0 THEN
SELECT COUNT(*) FROM student.p_user WHERE p_user.sex=‘女‘ INTO user_count; ELSE
SELECT COUNT(*) FROM student.p_user WHERE p_user.sex=‘男‘ INTO user_count; END IF;
END
$
调用:
DELIMITER ;
SET @user_count = 0;
CALL student.ges_user_count(1, @user_count);
SELECT @user_count;
问题:
ERROR 1436 (HY000): Thread stack overrun: 13440 bytes used of a 131072 byte stack, and 128000 bytes needed. Use ‘mysqld --thread_stack=#‘ to specify a bigger stack.
原因:thread_stack过小
解决:
Mac下
vim /etc/my.cnf
Win下
修改 my.ini
用到的命令:
查看所有存储过程:
1.select ‘name‘ from student.proc where db=‘db_name‘ and type=‘PROCEDURE‘
2.show procedure status;
查看存储过程或函数的创建代码:
show create procedure proc_name;
show create function func_name;

存储过程

标签:

原文地址:http://www.cnblogs.com/zhengbin/p/5281380.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!