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;

  • 相关阅读:
    Elastic Search(一)
    嵌入式jetty
    mybatis中的#{}和${}的区别
    拦截器和过滤器的区别
    springboot对拦截器的支持
    Springboot对filter的使用
    springboot对监听器Listener的使用
    随机数的基本概念
    hashset和treeset区别
    java中常见的api方法记录
  • 原文地址:https://www.cnblogs.com/zhengbin/p/5281380.html
Copyright © 2011-2022 走看看