美文网首页实用Linux
mysql-存储过程

mysql-存储过程

作者: 黄一倚 | 来源:发表于2018-10-28 12:56 被阅读0次

    创建无参数的存储过程

    mysql> create procedure sp1() select version();
    

    调用无参数存储过程

    mysql> call sp1;
    或
    mysql> call sp1();
    

    删除存储过程

    drop procedure sp1;
    

    创建带有IN类型的存储过程

    修改结束标识符为//

    mysql> delimiter //
    
    mysql> create procedure removeUserById(IN id int)
        -> begin
        -> delete from user where uid = id;
        -> end
        -> //
    Query OK, 0 rows affected (0.02 sec)
    

    调用带有参数的存储过程

    mysql> call removeUserById(1)//
    

    创建带有IN和OUT参数的存储过程

    IN 表示在调用存储过程时要传入的参数,OUT表示存储过程返回值的变量

    mysql> delimiter //
    mysql> create procedure removeUserAndReturnUserNums(IN id int,OUT userNums int)
        -> begin
        -> delete from user where uid =id;
        -> select count(id) from user INTO userNums;
        -> end
        -> //
    Query OK, 0 rows affected (0.03 sec)
    

    调用有OUT参数的存储过程

    调用存储过程时,OUT传入的是一个变量,在mysql中,变量的形式为@开头的合法变量名,形如@nums 在这里表示的是user表中记录的数量

    mysql> call removeUserAndReturnUserNums(2,@nums)//  
    Query OK, 1 row affected (0.05 sec)
    

    查看存储过程返回的值

    mysql> select @nums;
    
    image.png

    相关文章

      网友评论

        本文标题:mysql-存储过程

        本文链接:https://www.haomeiwen.com/subject/zxeptqtx.html