zoukankan      html  css  js  c++  java
  • 存储过程

    先挖好坑= =

    存储过程
    建立:
    #创建存储过程(查询得到男性或女性的数量, 如果传入的是 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;

  • 相关阅读:
    Md5密码加密
    Java Email 发送
    java 对象的修改
    修改表内部分字段根据查询而来 update select from
    转载:MySQL join on +多条件与where的区别
    反射机制
    转载-Java Nio
    Java 中的static
    springMVC的请求流程
    myEclipse 中的svn图标详解
  • 原文地址:https://www.cnblogs.com/zhengbin/p/5281380.html
Copyright © 2011-2022 走看看